У SQL| використовується безліч умов пошуку, що дозволяють ефективно і природним чином створювати різних типів|типи| запитів. Нижче розглядаються|розглядують| п'ять основних умов пошуку (у стандарті ANSI/ISO вони називаються предикатами).
Порівняння (=, <> <, <= >, >=). Найбільш поширеною умовою пошуку в SQL| є порівняння. При порівнянні SQL| обчислює|вичисляє| і порівнює значення двох виразів для кожного рядка даних. Вирази можуть бути як дуже простими, наприклад містити|утримувати| одне ім'я стовпця або константу, так і складнішими – арифметичними виразами.
Нижче приведений синтаксис оператора порівняння.
Вираз1 = | <> | < | <= | > | >= Вираз2
Перевірка на приналежність діапазону значень (BETWEEN|). Іншою формою умови пошуку є перевірка на приналежності діапазону значень (ключове|джерельне| слово BETWEEN|). При цьому перевіряється, чи знаходиться|перебуває| значення даних між двома певними значеннями.
При перевірці на приналежність діапазону верхня і нижня межі вважаються|лічать| частиною|часткою| діапазону, тому в результати запиту.
Якщо вираження|вираз|, що визначає нижню межу діапазону, має значення NULL|, то перевірка BETWEEN| повертає значення FALSE| тоді, коли значення, що перевіряється, більше верхньої межі діапазону, і значення NULL| інакше.|
Якщо вираження|вираз|, що визначає верхню межу діапазону, має значення NULL|, то перевірка BETWEEN| повертає значення FALSE|, коли значення, що перевіряється, менше нижньої межі, і значення NULL| осоружному|противному| випадку.
Перевірка на членство в безлічі|множині| (IN|). Ще однією поширеною умовою пошуку є перевірка на членство в безлічі|множині| (IN|). В цьому випадку перевіряється, чи відповідає значення даних якому-небудь значенню із|із| заданого списку.
проверяемое_выражение| [NOT|] IN| (константа .)
Наприклад: вивести список прізвищ студентів, які вчаться в групах з|із| кодами 1, 3, 5 і 10.
SELECT| StName|
FROM| Students|
WHERE| GrNo| IN| (1, 3, 5, 10)
Перевірка на відповідність шаблону (LIKE|). Для читання рядків, в яких вміст деякого текстового стовпця збігається із|із| заданим текстом, можна використовувати просте порівняння, проте|однак| інколи|іноді| необхідно здійснити порівняння на основі фрагмента рядка.
Перевірка на відповідність шаблону (ключове|джерельне| слово LIKE|), дозволяє визначити, чи відповідає значення даних в стовпці деякому шаблону. Шаблон є рядком, в який може входити один або більш підстановлювальних знаків. Ці знаки інтерпретуються особливим чином.
Підстановлювальні знаки. Підстановлювальний знак % збігається з|із| будь-якою послідовністю з|із| нуля|нуль-елемента| або більш за символи. Наприклад, наступний|слідуючий| запит виведе інформацію про студентів, чиє прізвище починається|зачинає| з|із| "Іван":
SELECT| *
FROM| STUDENTSWHERE| StName| LIKE| 'Іван%'
Підстановлювальний знак "_"| (символ підкреслення) збігається з|із| будь-яким окремим символом. Наприклад, якщо ви упевнені, що ім'я студентки-| або "Наталія", або "Наталія", то можете скористатися наступним|слідуючим| запитом:
SELECT| *
FROM| Students| WHERE| StName| LIKE| 'Натал_я'
Підстановлювальні знаки можна поміщати в будь-яке місце рядка шаблону, і в одному рядку може міститися|утримуватися| декілька підстановлювальних знаків.
Символи пропуску. При перевірці рядків на відповідність шаблону може опинитися, що підстановлювальні знаки входять в рядок символів як літерали. Наприклад, не можна перевірити, чи міститься|утримується| знак відсотка|процента| в рядку, просто включивши його в шаблон, оскільки SQL| вважатиме|лічитиме| цей знак підстановлювальним. Як правило, це не викликає|спричиняє| серйозних проблем, оскільки підстановлювальні знаки досить рідко зустрічаються в іменах, назвах товарів і інших текстових даних, які зазвичай|звично| зберігаються в базі даних.
У стандарті ANSI/ISO визначений спосіб перевірки наявності в рядках літералів, що використовуються як підстановлювальні знаки. Для цьому застосовуються символи пропуску. Коли в шаблоні зустрічається такий символ те символ, наступний|слідуючий| безпосередньо за ним, вважається|лічить| не підстановлювальним знаком, а літералом. (Відбувається|походить| пропуск символу.) Безпосередньо за символом пропуску може слідувати|прямувати| або один з двох підстановлювальних знаків, або сам символ пропуску, оскільки він теж|також| набуває в шаблоні особливого значення.
Символ пропуску визначається у вигляді рядка, що складається з одного символу, і пропозиції|речення| ESCAPE|. Нижче наведений приклад використання знаку долара ($) як символ пропуску:
Перевірка на рівність значенню NULL| (IS| NULL|). Значення NULL| забезпечують можливість|спроможність| вживання|застосування| тризначної логіки в умовах пошуку. Для будь-якого заданого рядка результат вживання|застосування| умови пошуку може бути TRUE|, FALSE| або NULL| (у разі, коли в одному із стовпців міститься|утримується| значення NULL|). Інколи|іноді| буває необхідно явно перевіряти значення стовпців на рівність NULL| і безпосередньо обробляти їх. Для цього в SQL| є|наявний| спеціальна перевірка на рівність значенню NULL| (IS| NULL|).
IS| [NOT|] NULL| имя_| стовпця
Складені|складові| умови пошуку (AND|, OR| і NOT|). Прості умови пошуку, описані в попередніх параграфах, після|потім| застосування до деякого рядка повертають значення TRUE|, FALSE| або NULL|. За допомогою правил логіки ці прості умови можна об'єднувати в складніші. Умови пошуку, об'єднані|з'єднані| за допомогою ключових|джерельних| слів AND|, OR| і NOT|, самі можуть бути складеними|складовими|.
Сортування результатів запиту (пропозиція|речення| ORDER| BY|).
Рядки результатів запиту, як і рядки таблиці бази даних, не мають певного порядку|ладу|. Включивши в оператора SELECT| пропозицію|речення| ORDER| BY|, можна відсортувати результати запиту. Ця пропозиція|речення| складається з ключових|джерельних| слів ORDER| BY|, за якими слідує|прямує| список імен стовпців, розділених комами.
ORDER| BY| имя_столбца| [ASC| | DESC|] .
У пропозиції|реченні| ORDER| BY| можна вибрати зростаючий або убуваючий порядок|лад| сортування. За умовчанням, дані сортуються в порядку зростання. Щоб|аби| сортувати їх по убуванню, слід включити в пропозицію|речення| сортування ключове|джерельне| слово DESC|.
Наприклад: вивести список прізвищ студентів що вчаться в групі з|із| кодом 1 в зворотному алфавітному порядку|ладі|.