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

6.5.3. Використання складених критеріїв відбору записів із таблиць

При відборі можна використовувати декілька операцій, задаючи тим самим складені критерії відбору записів. Складений критерій (логічний вираз) складається з:

  • простих умов;

  • логічних операцій: AND (логічне І), OR (логічне АБО), NOT(логічне НЕ);

  • круглих дужок.

В мові SQL пріоритет операцій порівняння вищий за пріоритет логічних операцій. Для зміни порядку виконання операцій використовуються круглі дужки.

Приклади запитів із складеним критерієм відбору:

select prizv

from stat

where osvita = ‘вища’ and adressa =’Львів’

Даний запит відбирає прізвища працівників, які мають вищу освіту і домашня адреса – Львів.

select prizv

from stat

where osvita = ‘вища’ or osvita = ‘cередня’

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

select prizv

from stat

where (osvita = ‘вища’) and

(data_nar between ‘01.01.1960’ and ‘01.12.1980’)

Запит відбирає прізвища працівників, які мають вищу освіту і народилися в період з 1 січня 1960 року до 1 грудня 1980. У даному логічному виразі прості умови записані у дужках, але це не обов’язково, так як пріоритет операцій порівняння вищий від пріоритету логічних операцій.

6.5.4. Агрегування даних. Sql-функції

В SQL існує ряд стандартних функцій (SQL-функцій). Крім спеціального випадку функції COUNT(*) кожна з цих функцій оперує сукупністю значень поля деякої таблиці і створює єдине значення, яке визначаються так: COUNT - кількість значень в полі, SUM – загальна сума в полі, AVG - среднє значення поля, MAX - найбільше значення поля, MIN - найменше значення поля. Для функцій SUM и AVG поле повинно бути числового типу. Зауважимо, що тут поле - це поле віртуальної таблиці, в якій можуть міститися дані не тільки з поля базової таблиці, але й дані, отртимані шляхом функціонального перетворення й(або) зв’язування символами арифметичних операцій значень з одного або декількох полів. Із SQL-функцій можно складати будь-які вирази. Перед аргументами всіх функцій, крім COUNT(*), можна ставити ключове слово DISTINCT (різний), яке вказує, що значення, які дублюються, повинні бути виключені перед тим, як буде застосовуватися функція. Спеціальна функція COUNT(*) служить для підрахунку всіх без виключення рядків в таблиці (включаючи дублікати).

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

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

Приклад запиту з групуванням записів:

select data_nar, count (data_nar)

from stat

where data_nar between ‘01.01.1960’ and ‘01.01.1980’

group by data_nar

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

У результаті виконання запиту

select cod, sum (suma)

from obsag

group by cod

виведеться загальна сума операцій, виконаних кожним рекламним агентом.

Максимальну суму операції кожного рекламного агента можна вибрати з допомогою запиту:

select cod, max (suma)

from obsag

group by cod

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