Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mova_SQL.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
106.5 Кб
Скачать

2.2. Вибірка без використання фрази where

2.2.1. Проста вибірка

Запит видати назва, статус і адреса постачальників

SELECT Назва, Статус, Адреса

FROM Постачальники;

При необхідності одержання повної інформації про постачальників, можна було б дати запит

SELECT ПС, Назва, Статус, Місто, Адреса, Телефон

FROM Постачальники;

чи використовувати його більш коротку нотацію:

SELECT *

FROM Постачальники;

Тут "зірочка" (*) служить коротким позначенням всіх імен полів у таблиці, зазначеної у фразі FROM. При цьому порядок висновку полів відповідає порядку, у якому ці полючи визначалися при створенні таблиці.

2.2.2. Виключення дублікатів

У попередньому прикладі був виданий правильний, але не зовсім удалий перелік основних продуктів: з нього не були виключені дублікати. Для виключення дублікатів і одночасного упорядкування переліку необхідно доповнити запит ключовим словом DІSTІNCT (різний, різні), як показано в наступному прикладі:

SELECT DІSTІNCT Основа

FROM Блюда;

2.2.3. Вибірка значень, що обчислюються

Із синтаксису фрази SELECT видно, що в ній може міститися не тільки перелік стовпців чи таблиці символ *, але і вираження. Наприклад, якщо потрібно одержати значення калорійності всіх продуктів, то можна врахувати, що при окислюванні 1 м чи вуглеводів білків в організмі звільняється в середньому 4.1 ккал, а при окислюванні 1 м жирів - 9.3 ккал, і видати запит:

SELECT Продукт, ((Білки+Углев)*4.1+Жири*9.3)

FROM Продукти;

Фраза SELECT може включати не тільки вираження, але й окремі числові чи текстові константи. Слід зазначити, що текстові константи повинні полягати в апострофи (').

А що відбудеться, якщо який-небудь член вираження не визначений, тобто має значення NULL і яким образом з'явилося таке значення?

Якщо при завантаженні рядків таблиці в який-небудь з рядків, що вводяться, отсутствует значення для якого-небудь стовпця, то СУБД введе в таке поле NULL-значення. NULL-значення "придумане" для того, щоб представити єдиним образом "невідомі значення" для будь-яких типів даних. Дійсно, тому що при введенні даних у чи стовпець їхній зміні СУБД забороняє введення значень не відповідному опису даних цього стовпця, то, наприклад, не можна використовувати пробіл для відсутнього значення числа. Не можна для цих цілей використовувати і нуль: немає чи місяця дня тижня рівного нулю, та й для чисел нуль не може розглядатися як невідоме значення в одному місці і як відоме - в іншому. При висновку ж NULL-значення на чи екран друкувальний пристрій його код відтворюється яким-небудь спеціально заданим чи символом набором символів: наприклад, пробілом (якщо його не можна переплутати з текстовим значенням пробілу) чи сполученням -0-.

2.3. Вибірка c використанням фрази where

2.3.1. Використання операторів порівняння

У синтаксисі фрази WHERE показано, що для добору потрібних рядків таблиці можна використовувати оператори порівняння = (дорівнює), <> (не дорівнює), < (менше), <= ( чименше дорівнює), > (більше), >= ( чибільше дорівнює), що можуть випереджатися оператором NOT, створюючи, наприклад, відносини "не менше" і "не більше".

Так, для одержання переліку продуктів, що практично не містять вуглеводів, можна сформувати запит

SELECT Продукт, Білки, Жири, Углев, K, Ca, Na,

B2, PP, C

FROM Продукти

WHERE Углев = 0;

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

SELECT Продукт, Білки, Жири, Углев, K, Ca, Na,

B2, PP, C

FROM Продукти

WHERE Углев = 0 AND Na = 0;

Додамо до цього запиту ще одна умова

SELECT Продукт, Білки, Жири, Углев, K, Ca, Na,

B2, PP, C

FROM Продукти

WHERE Углев = 0 AND Na = 0 AND Продукт <> 'Судак';

і одержимо на екрані повідомлення "No rows exіst or satіsfy the specіfіed clause" чи аналогічне (у залежності від смаків розроблювачів різних СУБД), що інформує про відсутність рядків, що задовольняють заданому(ым) умові(ям).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]