В този 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:
Roll_No | Първо име | град | Възраст | Процент | Степен |
---|---|---|---|---|---|
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%';
Резултат от горната заявка:
Roll_No | Първо име | Процент | Степен |
---|---|---|---|
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%' ;
Резултат от горната заявка:
Roll_No | Първо име | град | Възраст | Процент | Степен |
---|---|---|---|---|---|
101 | Акаш | Делхи | 18 | 89 | A2 |
102 | Бхавеш | Канпур | 19 | 93 | A1 |
103 | Яш | Делхи | двадесет | 89 | A2 |
104 | Бхавна | Делхи | 19 | 78 | B1 |
105 | ятин | Лакнау | двадесет | 75 | B1 |
106 | Ишака | Газиабад | 19 | 91 | C1 |
Оператор за равенство (=)
Това е вид оператор за сравнение, който показва съответстващите данни от дадена SQL таблица.
Този оператор се използва широко от потребителите на бази данни в Structured Query Language.
Този оператор връща TRUE редове от таблицата на базата данни, ако стойността на колоната е същата като стойността, посочена в заявката.
Синтаксис на оператора Equal:
SELECT * FROM Table_Name WHERE Column_Name = Value;
Пример за оператор Equal
Нека вземем следната работна таблица:
Worker_Id | Работник_Име | Работнически_град | Работник_Заплата | Работник_бонус |
---|---|---|---|---|
101 | Анудж | Газиабад | 35 000 | 2000 г |
102 | Тушар | Лакнау | 29 000 | 3000 |
103 | Вивек | Колката | 35 000 | 2500 |
104 | Шивам | Гоа | 22000 | 3000 |
Следната заявка показва записа на онези работници от таблицата на работниците, чиято Worker_Salary е 35000:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
Изход:
Worker_Id | Работник_Име | Работнически_град | Работник_Заплата | Работник_бонус |
---|---|---|---|---|
101 | Анудж | Газиабад | 35 000 | 2000 г |
103 | Вивек | Колката | 35 000 | 2500 |