Команда select - студопедія

Всі запити в SQL конструюються на базі однієї команди - SELECT. Її можна розширювати для виконання складних обробок.

SELECT name1, name2, ... - список стовпців, які подаються в результаті

FROM Table name; пов'язані

Перенесення на інший рядок нічого не змінює в команді.

Якщо поміняти місцями порядок слів, то в такому порядку виходить результат.

Усунення надмірності даних

Припустимо, SELECT вибирає один стовпець з таблиці. У ньому можуть бути повторювані значення, які не потрібні в результаті запиту. Якщо в запит

Якщо додати аргумент DISTINCT. то

SELECT DISTINCT snum

Виключить дублюються значення з результату.

Протилежним аргументом є ALL - він включає всі значення (за замовчуванням - ALL).

Визначення вибірки - пропозиція WHERE

Пропозиція WHERE команди SELECT дозволяє визначити предикат, умова, яке може бути або істинним, або хибним для кожного рядка. Команди витягує тільки ті, для яких предикат має значення "істина".

Припустимо, потрібно дізнатися імена всіх продавців в London:

SELECT sname, city

FROM Sales people

WHERE city = 'London';

Зауважимо, що стовпець city включається, в результат за рахунок появи в реченні SELECT, а не в WHERE.

Приклад на числове поле:

SELECT * FROM Customers

WHERE rating = 100;

Зрозуміло, що застосування WHERE не виключає DISTINCT і навпаки.

Допустимі і інші оператори:

'А' <’n’ означает, что ‘а’ предшествует ‘n’ в алфавитном порядке.

Булеві оператори: AND, OR, NOT

Приклад: SELECT * FROM Customers

WHERE city = 'London'

AND rating> 200;

SELECT * FROM Customers

WHERE city = 'London'

OR NOT rating> 200;

Або записи у яких місто Лондон, або якщо rating не більш 200.

NOT повинен передувати булеву висловом, значення якого він повинен змінити (але не перед оператором порівняння rating NOT> 200). SQL застосовує NOT тільки до того висловом, яке безпосередньо слідує за ним. Якщо потрібно охопити більше, то ставляться круглі дужки:

... WHERE NOT (city = 'London' OR rating> 200);

Простежимо логіку в навмисно ускладненому прикладі:

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

Розглянемо наведений приклад:

Найбільша глибина входження у предиката:

Схожі статті