I denne SQL-delen vil vi diskutere hvordan du sammenligner to eller flere strenger i Structured Query Language
Vi kan sammenligne to eller flere strenger ved å bruke STRCMP-strengfunksjonen, LIKE-operatoren og Equal-operatoren.
STRCMP strengfunksjon
STRCMP er en funksjon av streng som sammenligner de angitte to strengene og gir 0 hvis lengden på den første strengen er lik lengden på den andre strengen. Hvis lengden på den første strengen er mer enn lengden på den andre strengen, returnerer funksjonen 1 ellers -1.
Syntaks for STRCMP-funksjonen
SELECT STRCMP (String_1, String_2);
Eksempler på STRCMP-strengfunksjon
Eksempel 1: Følgende SELECT-spørring sammenligner lengden på JAVATPOINT- og EXAMPLES-strengene:
SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');
Produksjon:
1
Eksempel 2: Følgende SELECT-spørring sammenligner lengden på to setninger som går i STRCMP-funksjonen:
SELECT STRCMP ('Website is good', 'javatpoint is good');
Produksjon:
-1
Eksempel 3: Følgende SELECT-spørring sammenligner lengden på to byer:
SELECT STRCMP ( 'Delhi', 'Noida');
Produksjon:
0
LIKE operatør
LIKE-operatoren matcher det spesielle mønsteret med hver rad i feltet og returnerer de samsvarende verdiene i utdataene. Denne operatoren brukes alltid med WHERE-leddet i SQL-setningen.
Syntaks for Like-operator
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern;
Eksempel på LIKE-operatør
La oss ta følgende studenttabell:
Roll_No | Fornavn | By | Alder | Prosentdel | Karakter |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Yash | Delhi | tjue | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lucknow | tjue | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
107 | Vivek | Goa | tjue | 80 | B2 |
Spørsmål 1: Følgende spørring viser posten til de studentene fra elevtabellen ovenfor hvis Fornavn starter med en 'B'-bokstav:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
Utdata fra søket ovenfor:
Roll_No | Fornavn | Prosentdel | Karakter |
---|---|---|---|
102 | Bhavesh | 93 | A1 |
104 | Bhavna | 78 | B1 |
Som vist i utdataene ovenfor, inneholder tabellen bare posten til Bhavesh- og Bhavna-studenter fordi navnene deres begynner med B-bokstaven.
Spørsmål 2: Følgende spørring viser posten til de elevene fra den gitte elevtabellen hvis Fornavn inneholder tegnet 'a' i en hvilken som helst posisjon:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;
Utdata fra søket ovenfor:
Roll_No | Fornavn | By | Alder | Prosentdel | Karakter |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Yash | Delhi | tjue | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lucknow | tjue | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
Equal Operator (=)
Det er en type sammenligningsoperatør som viser samsvarende data fra den gitte SQL-tabellen.
Denne operatøren er mye brukt av databasebrukerne i Structured Query Language.
Denne operatoren returnerer TRUE-rader fra databasetabellen hvis verdien til kolonnen er den samme som verdien spesifisert i spørringen.
Syntaks for Equal-operator:
SELECT * FROM Table_Name WHERE Column_Name = Value;
Eksempel på Equal Operator
La oss ta følgende arbeidertabell:
Worker_Id | Arbeider_navn | Arbeiderby | Arbeider_Lønn | Arbeider_Bonus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35 000 | 2000 |
102 | Tushar | Lucknow | 29 000 | 3000 |
103 | Vivek | Kolkata | 35 000 | 2500 |
104 | Shivam | Goa | 22000 | 3000 |
Følgende spørring viser posten til de arbeiderne fra arbeidertabellen hvis Worker_Salary er 35000:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
Produksjon:
Worker_Id | Arbeider_navn | Arbeiderby | Arbeider_Lønn | Arbeider_Bonus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35 000 | 2000 |
103 | Vivek | Kolkata | 35 000 | 2500 |