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