logo

SQL-vertailumerkkijono

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