Команда select - мова запитів sql

Мова SQL допускає три типи синтаксичних конструкцій, що починаються з ключового слова SELECT:

Синтаксис команди SELECT в MySQL

Синтаксис команди SELECT в Oracle

Основні ключові слова і параметри команди SELECT в MySQL

  • DISTINCT - повертає тільки одне значення для кожного набору однакових обраних значень стовпця
  • ALL - повертає всі вибрані рядки, включаючи всі повторювані значення стовпців (приймається за замовчуванням)
  • * - вибирає всі стовпці з усіх таблиць або уявлень, перерахованих після оператора FROM
  • schema - ідентифікатор повноважень, зазвичай збігається з ім'ям деякого користувача
  • table. * view. * - вибирає всі стовпці з зазначеної таблиці, уявлення
  • Expr - витягує з таблиці (подання) деякий визначається вираз
  • table view - ім'я таблиці (подання), з якої відбувається вибірка даних.
  • subquery - підзапит, який сервер обробляє тим же самим способом як уявлення.
  • WHERE - обмежує безліч рядків вибіркою тих записів, для яких умова є істинним; якщо ця пропозиція опускається, сервер повертає всі рядки з таблиць.
  • GROUP BY - групує вибрані рядки по групах рядків з однаковим значенням зазначених полів і повертає одиночну рядок підсумкової інформації для кожної групи.
  • HAVING - обмежує обрані групи рядків такими групами, для яких визначається умова є істинним; якщо ця пропозиція опускається, сервер повертає рядки всіх груп.
  • UNION UNION ALL INTERSECT MINUS - об'єднує рядки, повернуті двома твердженнями SELECT з використанням операції перетину множин; для посилання на стовпець вводиться псевдонім для його позначення; пропозиція FOR UPDATE не може використовуватися з цими операторами
  • ORDER BY - впорядковує рядки, повернуті запитом.
  • Expr - значення виразу визначає правило упорядкування рядків.
  • ASC DESC - визначає порядок виведення даних (по зростанню або по спадаючій); значенням за замовчуванням є ASC.
  • FOR UPDATE - блокує вибрані рядки.
  • OF - блокує обрані рядки для специфічної таблиці в об'єднанні.
  • NOWAIT - повертає управління користувачеві, якщо команда SELECT намагається блокувати рядок, яка вже блокована іншим користувачем; якщо ця пропозиція опускається, сервер чекає, поки рядок не стане доступною і тільки тоді повертає результати команди SELECT.

Синтаксис команди SELECT в Oracle

Синтаксис команди SELECT в Oracle

Query table expression clause

For update clause

Основні ключові слова і параметри команди SELECT в Oracle

  • DISTINCT - повертає тільки одне значення для кожного набору однакових обраних значень стовпця.
  • ALL - повертає всі вибрані рядки в Oracle. включаючи всі повторювані значення стовпців (приймається за замовчуванням).
  • * - вибирає всі стовпці з усіх таблиць або уявлень, перерахованих після розділу FROM.
  • schema - ідентифікатор повноважень, зазвичай збігається з ім'ям деякого користувача.
  • table. * view. * - вибирає всі стовпці з зазначеної таблиці Oracle. уявлення.
  • Expr - витягує з таблиці (подання) деякий визначається вираз.
  • table view - ім'я таблиці (подання), з якої відбувається вибірка даних.
  • c_alias - аліасное ім'я (псевдонім) витягується стовпчика, вирази.
  • t_alias - аліасное ім'я (псевдонім) таблиці Oracle.
  • subquery - підзапит, який сервер обробляє тим же самим способом як уявлення.
  • WHERE - обмежує безліч рядків вибіркою тих записів, для яких умова є істинним; якщо ця пропозиція опускається, сервер повертає всі рядки з таблиць Oracle.
  • GROUP BY - групує вибрані рядки по групах рядків з однаковим значенням зазначених полів і повертає одиночну рядок підсумкової інформації для кожної групи.
  • HAVING - обмежує обрані групи рядків такими групами, для яких визначається умова є істинним; якщо ця пропозиція опускається, сервер повертає рядки всіх груп.
  • UNION [ALL] INTERSECT MINUS - об'єднує рядки, повернуті двома твердженнями SELECT з використанням операції перетину множин; для посилання на стовпець вводиться псевдонім для його позначення. Пропозиція FOR UPDATE не може використовуватися з цими операторами.
  • ORDER BY - впорядковує рядки, повернуті запитом: в Expr - вказується значення виразу, яке визначає правило упорядкування рядків по зростанню ASC або зменшенням DESC. Заводський параметр ASC.
  • PARTITION - на відміну від ORDER BY дозволяє частково впорядковувати набір даних.
  • FOR UPDATE - блокує вибрані рядки.
  • NOWAIT - повертає управління користувачеві, якщо команда SELECT намагається блокувати рядок, яка вже блокована іншим користувачем; якщо ця пропозиція опускається, сервер чекає, поки рядок не стане доступною і тільки тоді повертає результати команди SELECT.

Опис команди SELECT

Основою всіх синтаксичних конструкцій, що починаються з ключового слова SELECT. є синтаксична конструкція "табличне вираження".

Семантика табличного вираження полягає в тому, що на основі послідовного застосування розділів FROM. WHERE. GROUP BY і HAVING із заданих в розділі FROM таблиць будується деяка нова результуюча таблиця, порядок проходження рядків якої не визначений і серед рядків якої можуть перебувати дублікати (тобто в загальному випадку таблиця-результат табличного вираження є мультімножество рядків).

Найбільш загальною є конструкція "специфікація курсора". Курсор - це поняття мови SQL. що дозволяє за допомогою набору спеціальних операторів отримати порядковий доступ до результату запиту до БД. До табличних виразів, які беруть участь в специфікації курсору, не пред'являються будь-які обмеження. При визначенні специфікації курсору використовуються три додаткових конструкції: специфікація запиту, вираз запитів і розділ ORDER BY.

У специфікації запиту задається список вибірки (список арифметичних виразів над значеннями стовпців результату табличного вираження і констант). В результаті застосування списку вибірки до результату табличного вираження виробляється побудова нової таблиці, що містить стільки ж побільшало рядків, але взагалі кажучи інше число стовпців, що містять результати обчислення відповідних арифметичних виразів зі списку вибірки.

Вираз запитів - це вираз, що будується за вказаними синтаксичним правилам на основі специфікацій запитів. Єдиною операцією, яку дозволяється використовувати у виразах запитів, є операція UNION (об'єднання таблиць) з можливою різновидом UNION ALL.

Оператор вибірки - це окремий оператор мови SQL. дозволяє отримати результат запиту в прикладній програмі без залучення курсора. Тому оператор вибірки має синтаксис, що відрізняється від синтаксису специфікації курсору, і при його виконанні виникають обмеження на результат табличного вираження. Фактично, і то, і інше диктується специфікою оператора вибірки як одиночного оператора SQL. при його виконанні результат повинен бути поміщений в змінні прикладної програми. Тому в операторі з'являється розділ INTO. що містить список змінних прикладної програми, і виникає то обмеження, що результуюча таблиця повинна містити не більше одного рядка.

У діалекті SQL СУБДOracle підтримується розширений варіант оператора вибірки, результатом якого не обов'язково є таблиця з одного рядка. Таке розширення не підтримуються ні в SQL / 89. ні в SQL / 92.

Підзапит - запит. який може входити в предикат умови вибірки оператора SQL.

До речі, цю статтю Ви можете знайти в інтернеті за запитами:

Команда SELECT. Синтаксис команди SELECT. Опис команди SELECT.

Схожі статті