Команда select розділ where - приклади вибірки select з розділом where - мова запитів sql

розділ WHERE

Якщо в табличному вираженні присутній розділ WHERE. то наступним обчислюється він.

Умова, наступне за ключовим словом WHERE, може включати предикат умови пошуку, булевские оператори AND (і), OR (або) і NOT (немає) і дужки, що вказують необхідний порядок обчислень.

Обчислення розділу WHERE проводиться за такими правилами: Нехай R - результат обчислення розділу FROM. Тоді умова пошуку застосовується до всіх рядків R, і результатом розділу WHERE є таблиця SQL. що складається з тих рядків R, для якого результатом обчислення умови пошуку є true. Якщо умова вибірки включає підзапити. то кожен підзапит обчислюється для кожного кортежу таблиці R (в стандарті використовується термін "effectively" в тому сенсі, що результат повинен бути таким, як якби кожен підзапит дійсно обчислювався заново для кожного кортежу R).

Серед предикатів умови пошуку відповідно до стандарту можуть перебувати такі предикати: предикат порівняння. предікатbetween. предікатin. предікатlike. предікатnull. предикат з квантором і предікатexists.

При перевірці умови вибірки числа порівнюються алгебраїчно: негативні числа вважаються менше, ніж позитивні, незалежно від їх абсолютної величини. Рядки порівнюються відповідно до їх поданням до коді ANSI. При порівнянні двох рядків, що мають різні довжини, попередньо більш короткий рядок доповнюється справа пробілами для того, щоб обидві рядки мали однакову довжину.

Предикат порівняння з виразами або результатами підзапиту. Умова визначається з двох виразів, розділених одним із знаків операції відносини: =. <> (Не дорівнює),>.> =. <и <= .

Арифметичні вирази лівої і правої частин предиката порівняння будуються за загальними правилами побудови арифметичних виразів і можуть включати в загальному випадку імена стовпців таблиць з розділу FROM і константи. Типи даних арифметичних виразів повинні бути порівнянними (наприклад, якщо тип стовпця a таблиці A є типом символьних рядків, то предикат "a = 5" неприпустимий).

Якщо правий операнд операції порівняння задається підзапитом, то додатковим обмеженням є те, що потужність результату підзапиту повинна бути не більше одиниці. Якщо хоча б один з операндів операції порівняння має невизначене значення, або якщо правий операнд є підзапитом з порожнім результатом, то значення предиката порівняння одно unknown.

Для забезпечення переносимості прикладних програм потрібно уважно оцінювати специфіку роботи з невизначеними значеннями в конкретній СУБД.

Приклади вибірки SELECT з розділом WHERE

Вибірка коду та прізвища покупців, які проживають в Москві.

SELECT CUSTOMERNO, FIRSTNAME, LASTNAME FROM CUSTOMER WHERE CITY = 'Москва';

Вибірка з таблиці emp даних по службовцям відділу з номером 40:

Витяг з таблиці записи з полями ім'я, посаду, розмір окладу і номер відділу для всіх службовців за винятком продавців з відділу з номером 30:

SELECT ename, job, sal, deptno FROM emp WHERE NOT deptno = 30;

Схожі статті