Tässä SQL-osiossa keskustelemme kahden tai useamman merkkijonon vertaamisesta Structured Query Languageissa
Voimme verrata kahta tai useampaa merkkijonoa käyttämällä STRCMP-merkkijonotoimintoa, LIKE-operaattoria ja Equal-operaattoria.
STRCMP-merkkijonotoiminto
STRCMP on merkkijonon funktio, joka vertaa määritettyjä kahta merkkijonoa ja antaa 0:n, jos ensimmäisen merkkijonon pituus on yhtä suuri kuin toisen merkkijonon pituus. Jos ensimmäisen merkkijonon pituus on suurempi kuin toisen merkkijonon pituus, funktio palauttaa 1, muuten -1.
STRCMP-funktion syntaksi
SELECT STRCMP (String_1, String_2);
Esimerkkejä STRCMP-merkkijonofunktiosta
Esimerkki 1: Seuraava SELECT-kysely vertaa JAVATPOINT- ja EXAMPLES-merkkijonojen pituutta:
SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');
Lähtö:
1
Esimerkki 2: Seuraava SELECT-kysely vertaa kahden STRCMP-funktiossa kulkevan lauseen pituutta:
SELECT STRCMP ('Website is good', 'javatpoint is good');
Lähtö:
-1
Esimerkki 3: Seuraava SELECT-kysely vertaa kahden kaupungin pituutta:
SELECT STRCMP ( 'Delhi', 'Noida');
Lähtö:
0
LIKE Operaattori
LIKE-operaattori sovittaa tietyn kuvion kentän jokaiselle riville ja palauttaa vastaavat arvot tulosteeseen. Tätä operaattoria käytetään aina WHERE-lauseen kanssa SQL-käskyssä.
Like-operaattorin syntaksi
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern;
Esimerkki LIKE-operaattorista
Otetaan seuraava opiskelijataulukko:
Roll_No | Etunimi | Kaupunki | Ikä | Prosenttiosuus | Arvosana |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Yash | Delhi | kaksikymmentä | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lucknow | kaksikymmentä | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
107 | Vivek | Goa | kaksikymmentä | 80 | B2 |
Kysely 1: Seuraava kysely näyttää niiden opiskelijoiden tietueen yllä olevasta opiskelijataulukosta, joiden etunimi alkaa B-kirjaimella:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
Yllä olevan kyselyn tulos:
Roll_No | Etunimi | Prosenttiosuus | Arvosana |
---|---|---|---|
102 | Bhavesh | 93 | A1 |
104 | Bhavna | 78 | B1 |
Kuten yllä olevassa tulosteessa näkyy, taulukko sisältää vain Bhaveshin ja Bhavnan opiskelijoiden tietueen, koska heidän nimensä alkavat B-kirjaimella.
Kysely 2: Seuraava kysely näyttää tietueen niistä opiskelijoista annetusta opiskelijataulukosta, joiden etunimi sisältää merkin 'a' missä tahansa paikassa:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;
Yllä olevan kyselyn tulos:
Roll_No | Etunimi | Kaupunki | Ikä | Prosenttiosuus | Arvosana |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Yash | Delhi | kaksikymmentä | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lucknow | kaksikymmentä | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
Tasainen operaattori (=)
Se on eräänlainen vertailuoperaattori, joka näyttää osuvat tiedot annetusta SQL-taulukosta.
Tätä operaattoria käyttävät paljon tietokannan käyttäjät Structured Query Languageissa.
Tämä operaattori palauttaa tietokantataulukosta TRUE-rivit, jos sarakkeen arvo on sama kuin kyselyssä määritetty arvo.
Equal-operaattorin syntaksi:
SELECT * FROM Table_Name WHERE Column_Name = Value;
Esimerkki Equal-operaattorista
Otetaan seuraava työntekijätaulukko:
Työntekijän_tunnus | Työntekijän_nimi | Työntekijä_kaupunki | Työntekijä_ Palkka | Työntekijä_Bonus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35 000 | 2000 |
102 | Tushar | Lucknow | 29 000 | 3000 |
103 | Vivek | Kolkata | 35 000 | 2500 |
104 | Shivam | Goa | 22000 | 3000 |
Seuraava kysely näyttää niiden työntekijöiden tietueen työntekijätaulukosta, joiden työntekijän_palkka on 35 000:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
Lähtö:
Työntekijän_tunnus | Työntekijän_nimi | Työntekijä_kaupunki | Työntekijä_ Palkka | Työntekijä_Bonus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35 000 | 2000 |
103 | Vivek | Kolkata | 35 000 | 2500 |