In deze SQL-sectie bespreken we hoe u twee of meer tekenreeksen in de Structured Query Language kunt vergelijken
We kunnen twee of meer tekenreeksen vergelijken met behulp van de STRCMP-tekenreeksfunctie, LIKE-operator en Equal-operator.
STRCMP String-functie
STRCMP is een functie van string die de opgegeven twee strings vergelijkt en 0 oplevert als de lengte van de eerste string gelijk is aan de lengte van de tweede string. Als de lengte van de eerste string groter is dan de lengte van de tweede string, retourneert de functie 1, anders -1.
Syntaxis van STRCMP-functie
SELECT STRCMP (String_1, String_2);
Voorbeelden van STRCMP String-functie
Voorbeeld 1: De volgende SELECT-query vergelijkt de lengte van de tekenreeksen JAVATPOINT en EXAMPLES:
SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');
Uitgang:
1
Voorbeeld 2: De volgende SELECT-query vergelijkt de lengte van twee zinnen die worden doorgegeven in de STRCMP-functie:
SELECT STRCMP ('Website is good', 'javatpoint is good');
Uitgang:
-1
Voorbeeld 3: De volgende SELECT-query vergelijkt de lengte van twee steden:
SELECT STRCMP ( 'Delhi', 'Noida');
Uitgang:
0
LIKE-operator
De LIKE-operator matcht het specifieke patroon met elke rij van het veld en retourneert de overeenkomende waarden in de uitvoer. Deze operator wordt altijd gebruikt met de WHERE-clausule in de SQL-instructie.
Syntaxis van de Like-operator
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern;
Voorbeeld van LIKE-operator
Laten we de volgende Student-tabel nemen:
Rol_nr | Voornaam | Stad | Leeftijd | Percentage | Cijfer |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Jaj | Delhi | twintig | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lucknow | twintig | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
107 | Vivek | Goa | twintig | 80 | B2 |
Vraag 1: De volgende query toont het record van de studenten uit de bovenstaande studententabel waarvan de voornaam begint met een 'B'-letter:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
Uitvoer van bovenstaande zoekopdracht:
Rol_nr | Voornaam | Percentage | Cijfer |
---|---|---|---|
102 | Bhavesh | 93 | A1 |
104 | Bhavna | 78 | B1 |
Zoals uit de bovenstaande uitvoer blijkt, bevat de tabel alleen de gegevens van Bhavesh- en Bhavna-studenten, omdat hun namen beginnen met de letter B.
Vraag 2: De volgende query toont de record van de studenten uit de gegeven Student-tabel waarvan de First_Name het teken 'a' op een willekeurige positie bevat:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;
Uitvoer van bovenstaande zoekopdracht:
Rol_nr | Voornaam | Stad | Leeftijd | Percentage | Cijfer |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Jaj | Delhi | twintig | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lucknow | twintig | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
Gelijke operator (=)
Het is een type vergelijkingsoperator die de overeenkomende gegevens uit de gegeven SQL-tabel toont.
Deze operator wordt veel gebruikt door databasegebruikers in Structured Query Language.
Deze operator retourneert TRUE-rijen uit de databasetabel als de waarde van de kolom hetzelfde is als de waarde die is opgegeven in de query.
Syntaxis van de Gelijke-operator:
SELECT * FROM Table_Name WHERE Column_Name = Value;
Voorbeeld van gelijke operator
Laten we de volgende Worker-tabel nemen:
Werknemer_ID | Werknemernaam | Werknemer_Stad | Werknemer_Salaris | Werknemer_bonus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35000 | 2000 |
102 | Tushar | Lucknow | 29000 | 3000 |
103 | Vivek | Calcutta | 35000 | 2500 |
104 | Shivam | Goa | 22000 | 3000 |
De volgende query toont de record van de werknemers uit de werknemerstabel waarvan Worker_Salary 35000 is:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
Uitgang:
Werknemer_ID | Werknemernaam | Werknemer_Stad | Werknemer_Salaris | Werknemer_bonus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35000 | 2000 |
103 | Vivek | Calcutta | 35000 | 2500 |