I denne SQL-sektion vil vi diskutere, hvordan man sammenligner to eller flere strenge i Structured Query Language
Vi kan sammenligne to eller flere strenge ved at bruge STRCMP-strengfunktionen, LIKE-operatoren og Equal-operatoren.
STRCMP String funktion
STRCMP er en funktion af streng, der sammenligner de angivne to strenge og giver 0, hvis længden af den første streng er lig med længden af den anden streng. Hvis længden af den første streng er mere end længden af den anden streng, returnerer funktionen 1 ellers -1.
Syntaks for STRCMP-funktion
SELECT STRCMP (String_1, String_2);
Eksempler på STRCMP String funktion
Eksempel 1: Følgende SELECT-forespørgsel sammenligner længden af JAVATPOINT- og EXAMPLES-strenge:
SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');
Produktion:
1
Eksempel 2: Følgende SELECT-forespørgsel sammenligner længden af to sætninger, der passerer i STRCMP-funktionen:
SELECT STRCMP ('Website is good', 'javatpoint is good');
Produktion:
-1
Eksempel 3: Følgende SELECT-forespørgsel sammenligner længden af to byer:
SELECT STRCMP ( 'Delhi', 'Noida');
Produktion:
0
LIKE operatør
LIKE-operatoren matcher det bestemte mønster med hver række i feltet og returnerer de matchede værdier i outputtet. Denne operator bruges altid sammen med WHERE-udtrykket i SQL-sætningen.
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
Lad os tage følgende elevtabel:
Rulle_Nr | Fornavn | By | Alder | Procent | karakter |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Yash | Delhi | tyve | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lucknow | tyve | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
107 | Vivek | Goa | tyve | 80 | B2 |
Forespørgsel 1: Følgende forespørgsel viser posten for de elever fra ovenstående elevtabel, hvis fornavn starter med et 'B'-bogstav:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
Output af ovenstående forespørgsel:
Rulle_Nr | Fornavn | Procent | karakter |
---|---|---|---|
102 | Bhavesh | 93 | A1 |
104 | Bhavna | 78 | B1 |
Som vist i ovenstående output, indeholder tabellen kun posten over Bhavesh- og Bhavna-elever, fordi deres navne begynder med B-bogstavet.
Forespørgsel 2: Følgende forespørgsel viser posten for de elever fra den givne elevtabel, hvis fornavn indeholder tegnet 'a' i en hvilken som helst position:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;
Output af ovenstående forespørgsel:
Rulle_Nr | Fornavn | By | Alder | Procent | karakter |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Yash | Delhi | tyve | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lucknow | tyve | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
Equal Operator (=)
Det er en type sammenligningsoperator, som viser de matchede data fra den givne SQL-tabel.
Denne operator er meget brugt af databasebrugerne i Structured Query Language.
Denne operator returnerer TRUE rækker fra databasetabellen, hvis værdien af kolonnen er den samme som værdien angivet i forespørgslen.
Syntaks for Equal operator:
SELECT * FROM Table_Name WHERE Column_Name = Value;
Eksempel på Equal Operator
Lad os tage følgende arbejdstabel:
Worker_Id | Arbejder_navn | Arbejderby | Arbejder_Løn | Arbejder_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 forespørgsel viser posten for de arbejdere fra arbejdertabellen, hvis Worker_Salary er 35000:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
Produktion:
Worker_Id | Arbejder_navn | Arbejderby | Arbejder_Løn | Arbejder_Bonus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35.000 | 2000 |
103 | Vivek | Kolkata | 35.000 | 2500 |