logo

Primerjalni niz SQL

V tem razdelku SQL bomo razpravljali o tem, kako primerjati dva ali več nizov v jeziku strukturiranih poizvedb

Primerjamo lahko dva ali več nizov z uporabo nizovne funkcije STRCMP, operatorja LIKE in operatorja Equal.

Funkcija niza STRCMP

STRCMP je funkcija niza, ki primerja navedena dva niza in daje 0, če je dolžina prvega niza enaka dolžini drugega niza. Če je dolžina prvega niza večja od dolžine drugega niza, potem funkcija vrne 1, sicer -1.

Sintaksa funkcije STRCMP

 SELECT STRCMP (String_1, String_2); 

Primeri funkcije STRCMP String

Primer 1: Naslednja poizvedba SELECT primerja dolžino nizov JAVATPOINT in EXAMPLES:

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

Izhod:

 1 

Primer 2: Naslednja poizvedba SELECT primerja dolžino dveh stavkov, ki potekata v funkciji STRCMP:

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

Izhod:

 -1 

Primer 3: Naslednja poizvedba SELECT primerja dolžino dveh mest:

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

Izhod:

 0 

Operater LIKE

Operator LIKE ujema določen vzorec z vsako vrstico polja in vrne ujemajoče se vrednosti v izhodu. Ta operator se vedno uporablja s klavzulo WHERE v stavku SQL.

Sintaksa operatorja Like

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

Primer operaterja LIKE

Vzemimo naslednjo tabelo študentov:

zvitek_št Ime Mesto Starost Odstotek Ocena
101 Akaša Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Jaš Delhi dvajset 89 A2
104 Bhavna Delhi 19 78 B1
105 yatin Lucknow dvajset 75 B1
106 Ishaka Ghaziabad 19 91 C1
107 Vivek Goa dvajset 80 B2

Poizvedba 1: Naslednja poizvedba prikazuje zapis tistih študentov iz zgornje tabele študentov, katerih First_Name se začne s črko 'B':

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

Rezultat zgornje poizvedbe:

zvitek_št Ime Odstotek Ocena
102 Bhavesh 93 A1
104 Bhavna 78 B1

Kot je prikazano v zgornjem izhodu, tabela vsebuje samo zapis študentov Bhavesh in Bhavna, ker se njihova imena začnejo s črko B.

Poizvedba 2: Naslednja poizvedba prikazuje zapis tistih študentov iz dane tabele Student, katerih First_Name vsebuje znak 'a' na katerem koli položaju:

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

Rezultat zgornje poizvedbe:

zvitek_št Ime Mesto Starost Odstotek Ocena
101 Akaša Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Jaš Delhi dvajset 89 A2
104 Bhavna Delhi 19 78 B1
105 yatin Lucknow dvajset 75 B1
106 Ishaka Ghaziabad 19 91 C1

Enak operator (=)

Je vrsta primerjalnega operatorja, ki prikazuje ujemajoče se podatke iz podane tabele SQL.

Ta operater zelo uporabljajo uporabniki baze podatkov v jeziku strukturiranih poizvedb.

Ta operator vrne vrstice TRUE iz tabele baze podatkov, če je vrednost stolpca enaka vrednosti, podani v poizvedbi.

Sintaksa operatorja Equal:

 SELECT * FROM Table_Name WHERE Column_Name = Value; 

Primer enakopravnega operatorja

Vzemimo naslednjo tabelo Worker:

Worker_Id Delavec_Name Delavsko_mesto Delavska_Plača Delavec_Bonus
101 Anuj Ghaziabad 35000 2000
102 Tušar Lucknow 29000 3000
103 Vivek Kolkata 35000 2500
104 Shivam Goa 22000 3000

Naslednja poizvedba prikazuje zapis tistih delavcev iz tabele delavcev, katerih Worker_Salary je 35000:

 SELECT * FROM Worker WHERE Worker_Salary = 35000; 

Izhod:

Worker_Id Delavec_Name Delavsko_mesto Delavska_Plača Delavec_Bonus
101 Anuj Ghaziabad 35000 2000
103 Vivek Kolkata 35000 2500