русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Оператор SELECT

Оператор SELECT дозволяє отримувати існуючі дані з бази даних. Більшість операторів SELECT описують чотири головних властивості результуючого набору:

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

Оператор SELECT має наступний синтаксис (необов ’ язкові елементи укладені в квадратні дужки):

SELECT [DISTINCT][TOP n] {список полів}
FROM {список таблиць}
[WHERE {умови вибірки або з'єднання}]
[GROUP BY {список полів, за якими виконується угрупування}]
[HAVING {умови включення до групи}]
[ORDER BY {список полів для сортування}]

Оператор DISTINCT використовується для виключення дублюючих записів з результуючого набору. Оператор TOP n призначений для відображення перших n записів з результуючого набору.
Для завдання умов вибірки використовується оператор WHERE. У цього оператора визначається деякий умова, яка може бути або істинним, або помилковим для кожного запису тієї таблиці або таблиці, з яких відбувається вилучення даних. При цьому в результуючий набір потрапляють лише ті записи, для яких умова виявляється істинним. При формуванні умов відбору можна використовувати оператори відносин (>, <, >=, <=, =, <>), булеві AND, OR, NOT, а також специфічні оператори порівняння SQL:

  • BETWEEN A AND B - правдивий, коли порівнюваний значення потрапляє в діапазон сторінок (включаючи кордону);
  • IN (багато) - правдивий, коли порівнюваний значення належить вказаному безлічі;
  • LIKE "шаблон" - правдивий, коли порівнюваний значення відповідає шаблону. При написанні запиту використовуються символи "%", що означає будь-яку кількість будь-яких символів, і "_", що означає один будь-який символ;
  • IS NULL - правдивий, коли порівнюваний значення є порожнє значення (NULL); IS NOT NULL - правдивий, коли порівнюваний значення не порожнє значення.

Оператор WHERE також часто використовується для вибірки даних з двох і більше пов'язаних між собою таблиць. З іншого такий запит називають з'єднанням таблиць. Для з'єднання двох пов'язаних між собою таблиць оператора WHERE слід послідовно прирівняти між собою значення полів, за допомогою яких таблиці з'єднані між собою таблиці, і з'єднати рівності логічної операцією AND. Поряд з використанням оператора WHERE для з'єднання таблиць також використовуються оператори INNER JOIN і OUTER JOIN. Конструкція INNER JOIN (внутрішній зв'язок) має наступний синтаксис:

FROM Таблиця 1 INNER JOIN Стіл2
ON Таблица1.Поле1=Таблица2.Поле1 AND Таблица1.Поле2=Таблица2.Поле2 AND ...

Оператор LEFT OUTER JOIN (ліве зовнішнє з'єднання) використовується для отримання результуючого набору даних, в який входять всі запису таблиці, розташовані зліва від конструкції LEFT OUTER JOIN, і тільки ті записи з таблиці, розташованої праворуч від конструкції LEFT OUTER JOIN, які відповідають умові з'єднання. Конструкція LEFT OUTER JOIN (внутрішній зв'язок) має наступний синтаксис:

FROM Таблиця 1 LEFT OUTER JOIN Стіл2
ON Таблица1.Поле1=Таблица2.Поле1 AND Таблица1.Поле2=Таблица2.Поле2 AND ...

Сортування результуючого набору даних виробляється використанням оператора ORDER BY, після якого вказується полі або поля, за якими проводиться сортування, а також напрямок сортування (ASC - у зростаючому порядку , DESC - у спадному, за замовчуванням використовується ASC). Для сортування можна вказувати кілька полів. У цьому випадку спочатку сортування проводиться по першому полю, потім по другому полю і т.д.

Конструкція GROUP BY використовується для отримання зведеної інформації по групах записів. Разом з GROUP BY слід використовувати одну з групових (агрегатних) функцій, за допомогою яких вказується, які саме зведені дані повинні бути отримані:

  • SUM(поле) - сума значень;
  • COUNT(поле) - кількість значень (без урахування значень NULL). Для підрахунку кількості записів з урахуванням значень NULL використовується COUNT(*);
  • AVG(поле) - середнє значення;
  • MIN(поле) - мінімальне значення;
  • MAX(поле) - максимальне значення.

Всі групові функції ігнорують значення NULL (крім виклику COUNT (*), при цьому якщо поле містить тільки значення NULL, то результатом застосування груповий функції також буде NULL. При застосуванні групових функції без конструкції GROUP BY агрегатні функції повертають лише одне значення, при цьому в запиті SELECT можна вказати для вибірки лише агрегатні функції. Після ключового слова GROUP BY слід список полів, які називаються группирующими. Конструкція GROUP BY обмежує запису результуючого набору таким чином, що для кожного конкретного значення группирующего поля або полів можлива тільки один запис у виводі наборі. У кожного запису результуючого набору містяться зведені дані, пов'язані з певним значенням группирующего поля або полів. У запиті SELECT для вибірки можна крім групових функцій також вказати імена группирующих полів.

Запису згрупованого результуючого набору фільтруються засобами конструкції HAVING. У цього оператора визначається деякий умова, яка може бути або істинним, або помилковим для кожної групи записів тієї таблиці або таблиці, з яких відбувається вилучення даних. При цьому в результуючий набір потрапляють лише ті групи записів, для яких умова виявляється істинним. При формуванні умов відбору можна використовувати оператори відносин (>, <, >=, <=, =, <>), булеві AND, OR, NOT, а також специфічні оператори порівняння SQL (IN, BETWEEN, LIKE).

Переглядів: 4249

Повернутися в зміст:Введення в розробку розподілених інформаційних систем




Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн