Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6. Робота з SQL Server.docx
Скачиваний:
9
Добавлен:
22.11.2019
Размер:
121.61 Кб
Скачать

6. 5. Відбір даних із таблиць засобами sql

Відбір даних із таблиць полягає в одержанні із них полів і записів, які задовільняють певні умови. Результат виконання запиту, на основі якого відбираються записи, називають вибіркою. Дані можна вибирати із однієї або декількох таблиць з допомогою оператора SELECT. Він має наступний формат:

SELECT [DISTINCT] {*| <Список полів>}

FROM <Список таблиць>

[WHERE <Умови відбору>]

[ORDER BY <Список полів для сортування>]

[GROUP BY <список полів для групування>]

[HAVING <умови групування>]

[UNION <вкладенний оператор SELECT>]

Тут SELECT – ключове слово, яке повідомляє СУБД, що ця команда – запит. Всі запити починаються цим словом.

В результатному наборі даних можуть дозволятися або не дозволятися записи, які повторюються (тобто мають одинакові значення всіх полів). Цим режимом керує оператор DISTINCT. Якщо він відсутній, то в наборі даних дозволяються записи, які повторюються.

В оператор SELECT обов’язково включається: список полів і операнд FROM, інші операнди можуть бути відсутні. Ключове слово FROM, після якого задаються імена таблиць вказує на джерело інформації для запиту. В списку таблиць повинна бути як мінімум одна таблиця.

Якщо в набір даних потрібно включити всі поля таблиці, то замість перерахованих імен полів вказують символ “*”. Якщо список містить поля декількох таблиць, то для вказання належності поля до таблиці використовують складене ім’я, яке включає ім’я таблиці та ім’я поля, розділені крапкою:

<ім’я таблиці>.<ім’я поля>

Операнд WHERE задає умови (критерії) відбору, які повинні задовольняти записи в результатному наборі даних. Вираз, який описує умову відбору, є логічним виразом. Його елементами можуть бути імена полів, операції порівняння, арифметичні і логічні операції, спеціальні функції LIKE, NULL, IN.

Операнд GROUP BY дозволяє виділяти групи записів в результатному наборі даних. Групою є записи з однаковими значеннями в полях, які перераховані після ключових слів GROUP BY.

Операнд HAVING діє сумісно з оператором GROUP BY і використовується для відбору записів всередині групи.

Операнд ORDER BY містить список полів, які визначають порядок сортування записів результатного набору даних. За замовчуванням сортування відбувається в порядку зростання значень. Якщо необхідно посортувати по спаданню, то після імені цього поля вказується описувач DESС.

Оператори SELECT можуть мати складну структуру і бути вкладеними один в одного. Для об’єднання операторів використовується операнд UNION, в якому розміщається вкладений оператор SELECT, який називають підзапитом.

У синтаксичній конструкції оператора SELECT використовуються наступні позначення:

  • зірочка (*) для позначення "усі" - використовується у звичайному для програмування змісті, тобто "усі випадки, що задовольняють умову";

  • квадратні дужки ([]) - означають, що конструкції, укладені в ці дужки, є необов'язковими (тобто можуть бути опущені);

  • фігурні дужки ({}) - означають, що конструкції, укладені в ці дужки, повинні розглядатися як цілі синтаксичні одиниці, тобто вони дозволяють уточнити порядок розбору синтаксичних конструкцій, заміняючи звичайні дужки, які використовуються в синтаксисі SQL;

  • трикрапка (...) - вказує на те, що безпосередньо попередня йому синтаксична одиниця факультативно може повторюватися один чи більш раз;

  • пряма риска (|) - означає наявність вибору з двох чи більше можливостей. Наприклад, позначення ASC|DESC указує: можна вибрати один з термінів ASC чи DESC; коли ж один з елементів вибору укладений у квадратні дужки, то це означає, що він вибирається за замовчуванням (так, [ASC]|DESC означає, що відсутність усієї цієї конструкції буде сприйматися як вибір ASC);

  • крапка з комою (;) - завершальний елемент операторів SQL;

  • кома (,) - використовується для відокремлення елементів списків;

  • пробіли ( ) - можуть вводитися для підвищення наочності між будь-якими синтаксичними конструкціями операторів SQL;

  • прописні жирні латинські букви і символи - використовуються для написання конструкцій мови SQL і повинні (якщо це спеціально не обговорено) записуватися точно так, як показано;

  • малі літери - використовуються для написання конструкцій, що повинні замінятися конкретними значеннями, обраними користувачем, причому для визначеності окремі слова цих конструкцій зв'язуються між собою символом підкреслення (_);