logo

SQL palyginimo eilutė

Šiame SQL skyriuje aptarsime, kaip palyginti dvi ar daugiau struktūrinių užklausų kalbos eilučių

Galime palyginti dvi ar daugiau eilučių naudodami STRCMP eilutės funkciją, operatorių LIKE ir operatorių Equal.

STRCMP eilutės funkcija

STRCMP yra eilutės funkcija, kuri lygina nurodytas dvi eilutes ir suteikia 0, jei pirmosios eilutės ilgis yra lygus antrosios eilutės ilgiui. Jei pirmosios eilutės ilgis yra didesnis nei antrosios eilutės ilgis, tada funkcija grąžina 1, kitaip -1.

STRCMP funkcijos sintaksė

 SELECT STRCMP (String_1, String_2); 

STRCMP String funkcijos pavyzdžiai

1 pavyzdys: Ši SELECT užklausa lygina JAVATPOINT ir EXAMPLES eilučių ilgį:

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

Išvestis:

 1 

2 pavyzdys: Ši SELECT užklausa lygina dviejų sakinių, perduodamų naudojant STRCMP funkciją, ilgį:

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

Išvestis:

 -1 

3 pavyzdys: Ši SELECT užklausa lygina dviejų miestų ilgį:

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

Išvestis:

 0 

LIKE operatorius

Ženklas LIKE suderina konkretų šabloną su kiekviena lauko eilute ir grąžina suderintas reikšmes išvestyje. Šis operatorius visada naudojamas su WHERE sąlyga SQL sakinyje.

Panašaus operatoriaus sintaksė

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

LIKE operatoriaus pavyzdys

Paimkime tokią studentų lentelę:

Roll_No Pirmas vardas Miestas Amžius Procentas Įvertinimas
101 Akašas Delis 18 89 A2
102 Bhavešas Kanpuras 19 93 A1
103 Yash Delis dvidešimt 89 A2
104 Bhavna Delis 19 78 B1
105 jatin Laknau dvidešimt 75 B1
106 Išaka Gaziabadas 19 91 C1
107 Vivek Goa dvidešimt 80 B2

1 užklausa: Ši užklausa rodo tų studentų įrašą iš aukščiau pateiktos Mokinių lentelės, kurių vardas prasideda raide „B“:

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

Aukščiau pateiktos užklausos išvestis:

Roll_No Pirmas vardas Procentas Įvertinimas
102 Bhavešas 93 A1
104 Bhavna 78 B1

Kaip parodyta aukščiau pateiktame išvestyje, lentelėje yra tik Bhavesh ir Bhavna studentų įrašai, nes jų vardai prasideda raide B.

2 užklausa: Ši užklausa rodo tų mokinių įrašą iš pateiktos Mokinio lentelės, kurių Vardas bet kurioje pozicijoje yra simbolis „a“:

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

Aukščiau pateiktos užklausos išvestis:

Roll_No Pirmas vardas Miestas Amžius Procentas Įvertinimas
101 Akašas Delis 18 89 A2
102 Bhavešas Kanpuras 19 93 A1
103 Yash Delis dvidešimt 89 A2
104 Bhavna Delis 19 78 B1
105 jatin Laknau dvidešimt 75 B1
106 Išaka Gaziabadas 19 91 C1

Lygus operatorius (=)

Tai palyginimo operacijos tipas, rodantis suderintus duomenis iš nurodytos SQL lentelės.

Šį operatorių dažnai naudoja duomenų bazės vartotojai struktūrinės užklausos kalba.

Šis operatorius grąžina TRUE eilutes iš duomenų bazės lentelės, jei stulpelio reikšmė yra tokia pati kaip užklausoje nurodyta reikšmė.

Operatoriaus „Equal“ sintaksė:

 SELECT * FROM Table_Name WHERE Column_Name = Value; 

Vienodo operatoriaus pavyzdys

Paimkime šią Darbuotojų lentelę:

Darbuotojo_ID Darbuotojo_vardas Darbuotojo_miestas Darbuotojas_Atlyginimas Darbuotojo_premija
101 Anuj Gaziabadas 35 000 2000 m
102 Tušaras Laknau 29 000 3000
103 Vivek Kolkata 35 000 2500
104 Šivamas Goa 22000 3000

Ši užklausa rodo tų darbuotojų įrašą iš darbuotojų lentelės, kurių Darbuotojo_alga yra 35 000:

 SELECT * FROM Worker WHERE Worker_Salary = 35000; 

Išvestis:

Darbuotojo_ID Darbuotojo_vardas Darbuotojo_miestas Darbuotojas_Atlyginimas Darbuotojo_premija
101 Anuj Gaziabadas 35 000 2000 m
103 Vivek Kolkata 35 000 2500