logo

Ciąg porównawczy SQL

W tej sekcji SQL omówimy, jak porównać dwa lub więcej ciągów znaków w Strukturalnym Języku Zapytań

Możemy porównać dwa lub więcej ciągów znaków za pomocą funkcji łańcuchowej STRCMP, operatora LIKE i operatora Equal.

STRCMP Funkcja ciągu

STRCMP to funkcja ciągu, która porównuje określone dwa ciągi i daje 0, jeśli długość pierwszego ciągu jest równa długości drugiego ciągu. Jeśli długość pierwszego ciągu jest większa niż długość drugiego ciągu, funkcja zwraca 1, w przeciwnym razie -1.

Składnia funkcji STRCMP

 SELECT STRCMP (String_1, String_2); 

Przykłady funkcji STRCMP String

Przykład 1: Poniższe zapytanie SELECT porównuje długość ciągów JAVATPOINT i EXAMPLES:

 SELECT STRCMP ('JAVATPOINT', 'EXAMPLES'); 

Wyjście:

 1 

Przykład 2: Poniższe zapytanie SELECT porównuje długość dwóch zdań przekazywanych w funkcji STRCMP:

 SELECT STRCMP ('Website is good', 'javatpoint is good'); 

Wyjście:

 -1 

Przykład 3: Poniższe zapytanie SELECT porównuje długość dwóch miast:

 SELECT STRCMP ( 'Delhi', 'Noida'); 

Wyjście:

 0 

JAKO Operatorze

Operator LIKE dopasowuje określony wzorzec do każdego wiersza pola i zwraca dopasowane wartości na wyjściu. Operator ten jest zawsze używany z klauzulą ​​WHERE w instrukcji SQL.

Składnia operatora Like

 SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern; 

Przykład operatora LIKE

Weźmy następującą tabelę Studenta:

Nr rolki Imię Miasto Wiek Odsetek Stopień
101 Akash Delhi 18 89 A2
102 Bhawesz Kanpur 19 93 A1
103 Yash Delhi 20 89 A2
104 Bhavna Delhi 19 78 B1
105 Yatin Lucknow 20 75 B1
106 Ishaka Ghaziabad 19 91 C1
107 Wiwek Goa 20 80 B2

Zapytanie 1: Poniższe zapytanie pokazuje rekord tych uczniów z powyższej tabeli Studentów, których imię zaczyna się na literę „B”:

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%'; 

Wynik powyższego zapytania:

Nr rolki Imię Odsetek Stopień
102 Bhawesz 93 A1
104 Bhavna 78 B1

Jak pokazano w powyższych wynikach, tabela zawiera jedynie dane uczniów Bhavesh i Bhavna, ponieważ ich imiona zaczynają się na literę B.

Zapytanie 2: Poniższe zapytanie pokazuje rekord tych uczniów z podanej tabeli Studentów, których Imię zawiera znak „a” na dowolnej pozycji:

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ; 

Wynik powyższego zapytania:

Nr rolki Imię Miasto Wiek Odsetek Stopień
101 Akash Delhi 18 89 A2
102 Bhawesz Kanpur 19 93 A1
103 Yash Delhi 20 89 A2
104 Bhavna Delhi 19 78 B1
105 Yatin Lucknow 20 75 B1
106 Ishaka Ghaziabad 19 91 C1

Operator równości (=)

Jest to rodzaj operatora porównania, który pokazuje dopasowane dane z danej tabeli SQL.

Operator ten jest często używany przez użytkowników baz danych w Structured Query Language.

Operator ten zwraca TRUE wiersze z tabeli bazy danych, jeśli wartość w kolumnie jest taka sama jak wartość podana w zapytaniu.

Składnia operatora równości:

 SELECT * FROM Table_Name WHERE Column_Name = Value; 

Przykład operatora równości

Weźmy następującą tabelę Worker:

Identyfikator pracownika Nazwa_pracownika Miasto_pracownika Pracownik_Wynagrodzenie Pracownik_Bonus
101 Anuj Ghaziabad 35000 2000
102 Tushar Lucknow 29000 3000
103 Wiwek Kalkuta 35000 2500
104 Śiwam Goa 22000 3000

Poniższe zapytanie pokazuje rekord tych pracowników z tabeli pracowników, których Worker_Salary wynosi 35000:

 SELECT * FROM Worker WHERE Worker_Salary = 35000; 

Wyjście:

Identyfikator pracownika Nazwa_pracownika Miasto_pracownika Pracownik_Wynagrodzenie Pracownik_Bonus
101 Anuj Ghaziabad 35000 2000
103 Wiwek Kalkuta 35000 2500