Šajā SQL sadaļā mēs apspriedīsim, kā salīdzināt divas vai vairākas virknes strukturētā vaicājuma valodā
Mēs varam salīdzināt divas vai vairākas virknes, izmantojot STRCMP virknes funkciju, operatoru LIKE un operatoru Equal.
STRCMP virknes funkcija
STRCMP ir virknes funkcija, kas salīdzina norādītās divas virknes un dod 0, ja pirmās virknes garums ir vienāds ar otrās virknes garumu. Ja pirmās virknes garums ir lielāks par otrās virknes garumu, funkcija atgriež 1, pretējā gadījumā -1.
Funkcijas STRCMP sintakse
SELECT STRCMP (String_1, String_2);
STRCMP virknes funkcijas piemēri
1. piemērs: Šis SELECT vaicājums salīdzina JAVATPOINT un EXAMPLES virkņu garumu:
SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');
Izvade:
1
2. piemērs: Šis SELECT vaicājums salīdzina divu teikumu garumu, kas tiek nodoti funkcijā STRCMP:
SELECT STRCMP ('Website is good', 'javatpoint is good');
Izvade:
-1
3. piemērs: Šis SELECT vaicājums salīdzina divu pilsētu garumus:
SELECT STRCMP ( 'Delhi', 'Noida');
Izvade:
0
LIKE operators
Operators LIKE saskaņo konkrēto modeli ar katru lauka rindu un izvadā atgriež atbilstošās vērtības. Šis operators vienmēr tiek izmantots ar WHERE klauzulu SQL priekšrakstā.
Operatora Like sintakse
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern;
Operatora LIKE piemērs
Ņemsim šādu studentu tabulu:
Roll_Nr | Vārds | Pilsēta | Vecums | Procenti | Novērtējums |
---|---|---|---|---|---|
101 | Akaša | Deli | 18 | 89 | A2 |
102 | Bhavesh | Kanpura | 19 | 93 | A1 |
103 | Jašs | Deli | divdesmit | 89 | A2 |
104 | Bhavna | Deli | 19 | 78 | B1 |
105 | jatin | Laknava | divdesmit | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
107 | Vivek | Goa | divdesmit | 80 | B2 |
1. vaicājums: Šis vaicājums parāda to studentu ierakstu no iepriekš esošās Studentu tabulas, kuru vārds sākas ar burtu B:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
Iepriekšējā vaicājuma izvade:
Roll_Nr | Vārds | Procenti | Novērtējums |
---|---|---|---|
102 | Bhavesh | 93 | A1 |
104 | Bhavna | 78 | B1 |
Kā parādīts iepriekš sniegtajā izlaidumā, tabulā ir tikai ieraksti par Bhavesh un Bhavna studentiem, jo viņu vārdi sākas ar B burtu.
2. vaicājums: Šis vaicājums parāda to studentu ierakstu no dotās Studentu tabulas, kuru First_Name satur rakstzīmi 'a' jebkurā pozīcijā:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;
Iepriekšējā vaicājuma izvade:
Roll_Nr | Vārds | Pilsēta | Vecums | Procenti | Novērtējums |
---|---|---|---|---|---|
101 | Akaša | Deli | 18 | 89 | A2 |
102 | Bhavesh | Kanpura | 19 | 93 | A1 |
103 | Jašs | Deli | divdesmit | 89 | A2 |
104 | Bhavna | Deli | 19 | 78 | B1 |
105 | jatin | Laknava | divdesmit | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
Vienlīdzīgs operators (=)
Tas ir salīdzināšanas operatora veids, kas parāda atbilstošos datus no dotās SQL tabulas.
Šo operatoru ļoti bieži izmanto datu bāzes lietotāji strukturētā vaicājuma valodā.
Šis operators atgriež TRUE rindas no datu bāzes tabulas, ja kolonnas vērtība ir tāda pati kā vaicājumā norādītā vērtība.
Operatora Equal sintakse:
SELECT * FROM Table_Name WHERE Column_Name = Value;
Vienlīdzīga operatora piemērs
Ņemsim šādu strādnieku tabulu:
Darbinieka_ID | Darbinieka_vārds | Strādnieka_pilsēta | Strādnieks_alga | Darbinieks_Bonuss |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35 000 | 2000. gads |
102 | Tušārs | Laknava | 29 000 | 3000 |
103 | Vivek | Kolkata | 35 000 | 2500 |
104 | Šivams | Goa | 22000 | 3000 |
Šis vaicājums parāda to darbinieku ierakstu no darbinieku tabulas, kuru darbinieka_alga ir 35 000:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
Izvade:
Darbinieka_ID | Darbinieka_vārds | Strādnieka_pilsēta | Strādnieks_alga | Darbinieks_Bonuss |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35 000 | 2000. gads |
103 | Vivek | Kolkata | 35 000 | 2500 |