Î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 |