logo

Cadena de comparació SQL

En aquesta secció SQL, parlarem de com comparar dues o més cadenes en el llenguatge de consulta estructurat

Podem comparar dues o més cadenes utilitzant la funció de cadena STRCMP, l'operador LIKE i l'operador Equal.

Funció de cadena STRCMP

STRCMP és una funció de cadena que compara les dues cadenes especificades i dóna 0 si la longitud de la primera cadena és igual a la longitud de la segona. Si la longitud de la primera cadena és superior a la de la segona, la funció retorna 1 en cas contrari -1.

Sintaxi de la funció STRCMP

 SELECT STRCMP (String_1, String_2); 

Exemples de la funció String STRCMP

Exemple 1: La consulta SELECT següent compara la longitud de les cadenes JAVATPOINT i EXAMPLES:

 SELECT STRCMP ('JAVATPOINT', 'EXAMPLES'); 

Sortida:

 1 

Exemple 2: La consulta SELECT següent compara la longitud de dues frases que passen a la funció STRCMP:

 SELECT STRCMP ('Website is good', 'javatpoint is good'); 

Sortida:

 -1 

Exemple 3: La consulta SELECT següent compara la longitud de dues ciutats:

 SELECT STRCMP ( 'Delhi', 'Noida'); 

Sortida:

 0 

Operador LIKE

L'operador LIKE fa coincidir el patró particular amb cada fila del camp i retorna els valors coincidents a la sortida. Aquest operador sempre s'utilitza amb la clàusula WHERE a la instrucció SQL.

Sintaxi de l'operador Like

 SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern; 

Exemple d'operador LIKE

Prenem la següent taula d'estudiants:

Roll_No Nom ciutat Edat Percentatge Grau
101 Akash Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Delhi 20 89 A2
104 Bhavna Delhi 19 78 B1
105 yatin Lucknow 20 75 B1
106 Ishaka Ghaziabad 19 91 C1
107 Vivek Goa 20 80 B2

Consulta 1: La consulta següent mostra el registre d'aquells estudiants de la taula d'estudiants anterior el primer_nom dels quals comença amb una lletra 'B':

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%'; 

Sortida de la consulta anterior:

Roll_No Nom Percentatge Grau
102 Bhavesh 93 A1
104 Bhavna 78 B1

Com es mostra a la sortida anterior, la taula només conté el registre dels estudiants de Bhavesh i Bhavna perquè els seus noms comencen amb la lletra B.

Consulta 2: La consulta següent mostra el registre d'aquells estudiants de la taula d'estudiants donada el nom de la qual conté el caràcter 'a' en qualsevol posició:

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ; 

Sortida de la consulta anterior:

Roll_No Nom ciutat Edat Percentatge Grau
101 Akash Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Delhi 20 89 A2
104 Bhavna Delhi 19 78 B1
105 yatin Lucknow 20 75 B1
106 Ishaka Ghaziabad 19 91 C1

Operador igual (=)

És un tipus d'operador de comparació que mostra les dades coincidents de la taula SQL donada.

Aquest operador és molt utilitzat pels usuaris de bases de dades en llenguatge de consulta estructurat.

Aquest operador retorna les files TRUE de la taula de la base de dades si el valor de la columna és el mateix que el valor especificat a la consulta.

Sintaxi de l'operador Equal:

 SELECT * FROM Table_Name WHERE Column_Name = Value; 

Exemple d'operador igual

Prenem la següent taula de treballador:

ID_treballador Nom_treballador Ciutat_Obrera Treballador_Salari Bonificació de treballador
101 Anuj Ghaziabad 35000 2000
102 Tushar Lucknow 29000 3000
103 Vivek Calcuta 35000 2500
104 Shivam Goa 22000 3000

La consulta següent mostra el registre d'aquells treballadors de la taula de treballadors que Worker_Salary és 35000:

 SELECT * FROM Worker WHERE Worker_Salary = 35000; 

Sortida:

ID_treballador Nom_treballador Ciutat_Obrera Treballador_Salari Bonificació de treballador
101 Anuj Ghaziabad 35000 2000
103 Vivek Calcuta 35000 2500