logo

șir de comparare SQL

În această secțiune SQL, vom discuta cum să comparăm două sau mai multe șiruri în limbajul de interogare structurat

Putem compara două sau mai multe șiruri folosind funcția șir STRCMP, operatorul LIKE și operatorul Equal.

STRCMP Funcția șir

STRCMP este o funcție de șir care compară cele două șiruri specificate și dă 0 dacă lungimea primului șir este egală cu lungimea celui de-al doilea șir. Dacă lungimea primului șir este mai mare decât lungimea celui de-al doilea șir, atunci funcția returnează 1, altfel -1.

Sintaxa funcției STRCMP

 SELECT STRCMP (String_1, String_2); 

Exemple de funcție STRCMP String

Exemplul 1: Următoarea interogare SELECT compară lungimea șirurilor JAVATPOINT și EXAMPLES:

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

Ieșire:

 1 

Exemplul 2: Următoarea interogare SELECT compară lungimea a două propoziții care trec în funcția STRCMP:

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

Ieșire:

 -1 

Exemplul 3: Următoarea interogare SELECT compară lungimea a două orașe:

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

Ieșire:

 0 

Operator LIKE

Operatorul LIKE potrivește modelul particular cu fiecare rând al câmpului și returnează valorile potrivite în rezultat. Acest operator este întotdeauna folosit cu clauza WHERE din instrucțiunea SQL.

Sintaxa operatorului Like

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

Exemplu de operator LIKE

Să luăm următorul tabel Student:

Rola numărul Nume Oraș Vârstă Procent Nota
101 Akash Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Delhi douăzeci 89 A2
104 Bhavna Delhi 19 78 B1
105 yatin Lucknow douăzeci 75 B1
106 Ishaka Ghaziabad 19 91 C1
107 Vivek Goa douăzeci 80 B2

Interogarea 1: Următoarea interogare arată înregistrarea acelor studenți din tabelul Student de mai sus al căror prenume începe cu litera „B”:

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

Ieșirea interogării de mai sus:

Rola numărul Nume Procent Nota
102 Bhavesh 93 A1
104 Bhavna 78 B1

După cum se arată în rezultatul de mai sus, tabelul conține doar înregistrarea studenților Bhavesh și Bhavna, deoarece numele lor încep cu litera B.

Interogarea 2: Următoarea interogare arată înregistrarea acelor studenți din tabelul Student dat al căror prenume conține caracterul „a” în orice poziție:

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

Ieșirea interogării de mai sus:

Rola numărul Nume Oraș Vârstă Procent Nota
101 Akash Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Delhi douăzeci 89 A2
104 Bhavna Delhi 19 78 B1
105 yatin Lucknow douăzeci 75 B1
106 Ishaka Ghaziabad 19 91 C1

Operator egal (=)

Este un tip de operator de comparație care arată datele potrivite din tabelul SQL dat.

Acest operator este foarte utilizat de utilizatorii bazei de date în limbajul de interogare structurat.

Acest operator returnează rânduri TRUE din tabelul bazei de date dacă valoarea coloanei este aceeași cu valoarea specificată în interogare.

Sintaxa operatorului Egal:

 SELECT * FROM Table_Name WHERE Column_Name = Value; 

Exemplu de operator egal

Să luăm următorul tabel Worker:

ID_lucrător Nume_lucrător Orașul_Lucrător Lucrător_Salariu Bonus_Lucrător
101 Anuj Ghaziabad 35000 2000
102 Tushar Lucknow 29000 3000
103 Vivek Kolkata 35000 2500
104 Shivam Goa 22000 3000

Următoarea interogare arată înregistrarea acelor lucrători din tabelul de lucrători al căror salariu_Lucrător este 35000:

 SELECT * FROM Worker WHERE Worker_Salary = 35000; 

Ieșire:

ID_lucrător Nume_lucrător Orașul_Lucrător Lucrător_Salariu Bonus_Lucrător
101 Anuj Ghaziabad 35000 2000
103 Vivek Kolkata 35000 2500