У цьому розділі SQL ми обговоримо, як порівняти два або більше рядків у мові структурованих запитів
Ми можемо порівняти два або більше рядків за допомогою рядкової функції STRCMP, оператора LIKE та оператора Equal.
Функція STRCMP String
STRCMP — це функція рядка, яка порівнює вказані два рядки та дає 0, якщо довжина першого рядка дорівнює довжині другого рядка. Якщо довжина першого рядка більша за довжину другого рядка, тоді функція повертає 1, інакше -1.
Синтаксис функції STRCMP
SELECT STRCMP (String_1, String_2);
Приклади функції STRCMP String
приклад 1: Наступний запит SELECT порівнює довжину рядків JAVATPOINT і EXAMPLES:
SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');
Вихід:
1
приклад 2: Наступний запит SELECT порівнює довжину двох речень, які передаються у функції STRCMP:
SELECT STRCMP ('Website is good', 'javatpoint is good');
Вихід:
-1
приклад 3: Наступний запит SELECT порівнює довжину двох міст:
SELECT STRCMP ( 'Delhi', 'Noida');
Вихід:
0
Оператор LIKE
Оператор LIKE зіставляє певний шаблон із кожним рядком поля та повертає відповідні значення у вихідні дані. Цей оператор завжди використовується з пропозицією WHERE в операторі SQL.
Синтаксис оператора Like
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern;
Приклад оператора LIKE
Візьмемо таку таблицю Student:
№ рулону | Ім'я | місто | Вік | Відсоток | Оцінка |
---|---|---|---|---|---|
101 | Акаша | Делі | 18 | 89 | A2 |
102 | Бхавеш | Канпур | 19 | 93 | A1 |
103 | Яш | Делі | двадцять | 89 | A2 |
104 | Бхавна | Делі | 19 | 78 | B1 |
105 | ятин | Лакнау | двадцять | 75 | B1 |
106 | Ішака | Газіабад | 19 | 91 | C1 |
107 | Вівек | Гоа | двадцять | 80 | B2 |
Запит 1: Наступний запит показує запис тих студентів із наведеної вище таблиці Student, чиє First_Name починається з літери «B»:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
Результат запиту вище:
№ рулону | Ім'я | Відсоток | Оцінка |
---|---|---|---|
102 | Бхавеш | 93 | A1 |
104 | Бхавна | 78 | B1 |
Як показано у вихідних даних вище, таблиця містить лише записи студентів Bhavesh і Bhavna, оскільки їхні імена починаються з літери B.
Запит 2: Наступний запит показує запис тих студентів із заданої таблиці Student, чиє First_Name містить символ «a» у будь-якій позиції:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;
Результат запиту вище:
№ рулону | Ім'я | місто | Вік | Відсоток | Оцінка |
---|---|---|---|---|---|
101 | Акаша | Делі | 18 | 89 | A2 |
102 | Бхавеш | Канпур | 19 | 93 | A1 |
103 | Яш | Делі | двадцять | 89 | A2 |
104 | Бхавна | Делі | 19 | 78 | B1 |
105 | ятин | Лакнау | двадцять | 75 | B1 |
106 | Ішака | Газіабад | 19 | 91 | C1 |
Оператор рівності (=)
Це тип оператора порівняння, який показує відповідні дані з заданої таблиці SQL.
Цей оператор широко використовується користувачами баз даних у мові структурованих запитів.
Цей оператор повертає TRUE рядки з таблиці бази даних, якщо значення стовпця збігається зі значенням, указаним у запиті.
Синтаксис оператора Equal:
SELECT * FROM Table_Name WHERE Column_Name = Value;
Приклад оператора рівності
Візьмемо наступну таблицю Worker:
Worker_Id | Worker_Name | Робітник_місто | Робітник_Зарплата | Worker_Bonus |
---|---|---|---|---|
101 | Анудж | Газіабад | 35000 | 2000 рік |
102 | Тушар | Лакнау | 29000 | 3000 |
103 | Вівек | Колката | 35000 | 2500 |
104 | Шивам | Гоа | 22000 | 3000 |
Наступний запит показує записи тих працівників із таблиці worker, у яких Worker_Salary становить 35000:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
Вихід:
Worker_Id | Worker_Name | Робітник_місто | Робітник_Зарплата | Worker_Bonus |
---|---|---|---|---|
101 | Анудж | Газіабад | 35000 | 2000 рік |
103 | Вівек | Колката | 35000 | 2500 |