logo

SQL niz za usporedbu

U ovom odjeljku o SQL-u raspravljat ćemo o tome kako usporediti dva ili više nizova u Structured Query Language

Možemo usporediti dva ili više nizova koristeći funkciju niza STRCMP, operator LIKE i operator Equal.

STRCMP String funkcija

STRCMP je funkcija niza koja uspoređuje navedena dva niza i daje 0 ako je duljina prvog niza jednaka duljini drugog niza. Ako je duljina prvog niza veća od duljine drugog niza, tada funkcija vraća 1, inače -1.

Sintaksa STRCMP funkcije

 SELECT STRCMP (String_1, String_2); 

Primjeri funkcije STRCMP String

Primjer 1: Sljedeći SELECT upit uspoređuje duljinu nizova JAVATPOINT i EXAMPLES:

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

Izlaz:

 1 

Primjer 2: Sljedeći SELECT upit uspoređuje duljinu dviju rečenica koje prolaze u funkciji STRCMP:

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

Izlaz:

 -1 

Primjer 3: Sljedeći SELECT upit uspoređuje duljinu dva grada:

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

Izlaz:

 0 

LIKE Operator

Operator LIKE povezuje određeni uzorak sa svakim redom polja i vraća podudarne vrijednosti u izlazu. Ovaj se operator uvijek koristi s klauzulom WHERE u SQL izjavi.

Sintaksa Like operatora

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

Primjer LIKE operatora

Uzmimo sljedeću Studentsku tablicu:

Rola_br Ime Grad Dob Postotak Razred
101 Akaša Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Delhi dvadeset 89 A2
104 Bhavna Delhi 19 78 B1
105 jatin Lucknow dvadeset 75 B1
106 Ishaka Ghaziabad 19 91 C1
107 Vivek Goa dvadeset 80 B2

Upit 1: Sljedeći upit prikazuje zapis onih učenika iz gornje tablice Student čije First_Name počinje slovom 'B':

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

Izlaz gornjeg upita:

Rola_br Ime Postotak Razred
102 Bhavesh 93 A1
104 Bhavna 78 B1

Kao što je prikazano u gornjem izlazu, tablica sadrži samo zapis učenika Bhavesh i Bhavna jer njihova imena počinju slovom B.

Upit 2: Sljedeći upit prikazuje zapis onih studenata iz zadane tablice Student čije First_Name sadrži znak 'a' na bilo kojoj poziciji:

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

Izlaz gornjeg upita:

Rola_br Ime Grad Dob Postotak Razred
101 Akaša Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Delhi dvadeset 89 A2
104 Bhavna Delhi 19 78 B1
105 jatin Lucknow dvadeset 75 B1
106 Ishaka Ghaziabad 19 91 C1

Operator jednakosti (=)

To je vrsta operatora usporedbe koji prikazuje podudarne podatke iz dane SQL tablice.

Ovaj operator često koriste korisnici baze podataka u Structured Query Language.

Ovaj operator vraća TRUE retke iz tablice baze podataka ako je vrijednost stupca ista kao vrijednost navedena u upitu.

Sintaksa operatora jednakosti:

 SELECT * FROM Table_Name WHERE Column_Name = Value; 

Primjer jednakog operatora

Uzmimo sljedeću radnu tablicu:

Id_radnika Ime_radnika Radnički_Grad Radnička_Plaća Radnički_bonus
101 Anuj Ghaziabad 35000 2000. godine
102 Tušar Lucknow 29000 3000
103 Vivek Kolkata 35000 2500
104 Shivam Goa 22000 3000

Sljedeći upit prikazuje zapis onih radnika iz tablice radnika čija je Worker_Salary 35000:

 SELECT * FROM Worker WHERE Worker_Salary = 35000; 

Izlaz:

Id_radnika Ime_radnika Radnički_Grad Radnička_Plaća Radnički_bonus
101 Anuj Ghaziabad 35000 2000. godine
103 Vivek Kolkata 35000 2500