Використання sql запитів - бази даних

Мова запитів складається з однієї команди SELECT. Вона використовується спільно з безліччю опцій і пропозицій.

Синтаксис найпростішої форми оператора SELECT:

  • Імена полів у списку розділяються через кому;
  • Для вибірки всіх полів використовується символ підстановки (*);
  • Опція ALL (задана за замовчуванням) означає, що результат вибірки буде містити всі записи, включаючи дублюють один одного;
  • При використанні опції DISTINCT результат не буде містити дублюючих рядків;
  • Якщо імена полів містять пробіл, вони полягають в квадратні дужки.

Умови при вибірки даних задаються за допомогою пропозиції WHERE.

Оператори порівняння: =.>, =, <=. p="">

  • BETWEEN ... AND застосовується для відбору записів, в яких значення поля знаходиться всередині заданого діапазону;
  • IN застосовується для вибірки записів, в яких значення деякого поля відповідає хоча б одній із значень заданого списку;
  • LIKE застосовується для порівняння значення поля зі значенням, заданим за допомогою шаблонів.
  • AND - для кожного запису, що включається в результат повинні виконуватися всі задані обмеження;
  • OR - запис включається в результуючу вибірку в разі виконання хоча б одного з заданих обмежень;
  • При використанні операторів об'єднання кожне логічне вираз полягає в дужки.

Що б не робити зайвих запитів до бази даних, використовуйте змінні ORDER BY і суфікса.

Для впорядкування даних у вибірці використовується пропозицію ORDER BY. синтаксис:

  • ASC - по зростанню;
  • DESC - по зменшенню;
  • Замість імені поля, можна використовувати порядковий номер поля в списку після слова SELECT.

Псевдоніми - змінені імена полів. Застосовуються при завданні обчислюваних полів. Ім'я користувача поміщається після імені поля або після обчислюється пропозиції через ключове поле AS: SELECT [Код товару], Замовлено, Продано, Ціна, Ціна * Продано AS [Сума продажу]

Угруповання записів - об'єднання записів відповідно до значень деякого заданого поля. Пропозиція GROUP BY. Спільно з ним використовуються функції агрегування. У цьому випадку вони застосовуються для обчислення підсумкових значень за окремими групами даних.

Використання обчислюваних полів

На підставі даних таблиці «Продажі» обчисліть для кожного товару суму грошей, отриманий-них за проданий товар (добуток ціни на кількість проданого товару), і суму, на яку замовлено товарів (добуток ціни на кількість замовлений-ного товару), а також різницю між ними:

Задайте псевдонім-ми для обчислюваних полів в попередньому запиті.

У таблиці «Продажі» підрахуйте кількість за-пісей в поле «Продано», мінімальну та максимальну кількість проданих товарів, загальну суму проданих товарів і середнє значення проданих товарів.

Підрахуйте кількість покупок товарів, зроблених кожним з клієнтів.

У попередньому за-просі виберіть тільки тих клієнтів, які зробили за один раз більше 10 покупок, і Упорядкуйте результати вибірки в порядку зростання:

Мова SQL дозволяє отримати дані з декількох таблиць. При цьому виконується операція з'єднання. Способи з'єднання: з'єднання рівності, з'єднання нерівності, зовнішні з'єднання. Для завдання виду з'єднання використовується пропозицію WHERE.

З'єднання рівності проводиться за загальним для декількох таблиць полю. синтаксис:

При використанні зовнішнього з'єднання результат запиту буде містити всі записи однієї з таблиць, навіть в тому випадку, якщо в пов'язаної з нею таблиці відсутні збігаються значення. Реалізується за допомогою оператора OUTER JOIN:

LEFT - ліве зовнішнє з'єднання, RIGHT - праве зовнішнє з'єднання, FULL - повне зовнішнє з'єднання.

Підзапит - запит, поміщений усередині іншого запиту.

  • Підзапити повинні полягати в круглі дужки;
  • Пропозиція ORDER BY може бути використано тільки в основному запиті;
  • Підзапити, які повертають більше одного запису, можуть використовуватися тільки з багатозначними операторами;
  • В основному запиті можна використовувати оператор BETWEEN.

Запити, що включають в себе кілька операторів SELECT, називаються складовими. Правила об'єднання запитів:

  • кожен із запитів, що входять в об'єднання, повинен повертати однакову кількість полів;
  • типи полів, що повертаються в результаті виконання кожного запиту, повинні збігатися.
  • при використанні оператора UNION результати виконання окремих запитів об'єднуються, дублюють один одного запису виключаються;
  • при використанні оператора UNION ALL в результуючу вибірку включаються дублюючі записи;

Вибрати записи з двох таблиць, використовуючи з'єднання рівності.

Вибрати з таблиці «Клієнти» поля, що містять відомості про імена клі-тів, а з таблиці «Продажі» - поля, в яких містяться відомості про покуп-ках, зроблених клієнтами. Для зв'язування таблиць скористаємося загальним для обох таблиць полем «Код клієнта»:

Доповнити даний запит пропозицією угруповання і полем, що містить функцію агрегування.

Изме-нить розглянутий вище запит таким чином, щоб результати були згруповані по полях «Прізвище», «Ім'я», «По батькові» і для кожного клієнта виводилося сумарна кількість покупок:

Вибрати записи з трьох взаємопов'язаних таблиць.

Включити інформацію про найменування товару з таблиці «Товари»:

Створити ліве і праве зовнішні з'єднання.

Вибрати з таблиці «Товари» список товарів, з таблиці «Продажі» - сумарна кількість проданих товарів:

Створити складний запит, який використовує підзапит.

Вибрати з таблиці «Продажі» інформацію про продажі товару з найменуванням «Delphi 5»:

Схожі статті