Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpori.docx
Скачиваний:
26
Добавлен:
14.02.2016
Размер:
271.14 Кб
Скачать

9. Підзапити

Підзапит (SQL) — це один із інструментів створення тимчасової таблиці бази даних, створенної в MS SQL Server. Дані такої таблиці отримуються та опрацьовуються зовнішнім запитом. Текст підзапиту має бути розміщений у дужках. Часто підзапити використовують замість зв'язування таблиць.

Правила складання підзапитів

  • Підзапит завжди повинен міститись у круглих дужках;

  • Може посилатись тільки на один стовпець у виразі власного ключового слова SELECT;

  • Підзапит для повернення кількох рядків даних можна використати тільки в операторах, які допускають велику кількість значень;

  • Підзапит неможна безпосередньо використовувати, як аргумент;

  • Не можна використовувати операцію Between стосовно підзапиту.

Типи підзапитів

Існує два типи підзапитів, а саме:

  1. табличний підзапит,

  2. скалярний підзапит.

Суть скалярного підзапиту полягає в тому, що він може повертати єдине значення, тобто може використовуватись скрізь де необхідне єдине значення. Відповідно табличний підзапит — повертає множину значень, тобто значення одного чи декількох стовпчиків таблиці, які розміщенні більше ніж в одному рядку.

Приклади використання підзапитів

Наприклад, необхідно визначити дату продажу максимальної партії товару:

SELECT Дата, Кількість

FROM Угода

WHERE Кількість =(SELECT Max(Кількість)FROM Угода)

10. Засоби маніпулювання даними

Вставка, видалення і оновлення даних

Оператор INSERT

Оператор

My

SQL

INSERT

використовують для додавання рядків в таблиці. Його вивчення

ми почнемо з прикладу. Ви можете ввести наведені нижче оператори безпосередньо у

командний рядок M

y

SQL.

Кілька прикладів використання оператора

INSERT

наведено у лістингу

12. Представлення

Представлення ( англ. view , В сленгу програмістів часто використовується як запозичення з англійської - "вьюха", "в'юшки") - віртуальна (логічна) таблиця, що представляє собою пойменований запит (аліас до запиту), який буде підставлений як підзапит при використанні подання.

На відміну від звичайних таблиць реляційної БД, подання не є самостійною частиною набору даних, що зберігається в базі. Вміст подання динамічно обчислюється на підставі даних, що знаходяться в реальних таблицях. Зміна даних в реальному таблиці БД негайно відбивається у вмісті всіх уявлень, побудованих на підставі цієї таблиці.

1. Спосіб створення і вміст уявлень

Типовим способом створення вистав для СУБД, що підтримують мову запитів SQL, є зв'язування подання з певним SQL-запитом. Відповідно, вміст подання - це результат виконання цього запиту, а можливості побудови уявлення обмежуються тільки ступенем складності діалекту SQL, підтримуваного конкретної СУБД. Так, для типових СУБД, таких як PostgreSQL, Interbase, FireBird, Microsoft SQL Server, Oracle, подання може містити:

  • підмножина записів з таблиці БД, що відповідає певним умовам (наприклад, при наявності однієї таблиці "Люди" можна створити два подання "Чоловіки" і "Жінки", в кожному з яких будуть записи тільки про людей відповідної статі);

  • підмножина стовпців таблиці БД, необхідний програмою (наприклад, з реальної таблиці "Співробітники" подання може містити по кожному співробітнику тільки ПІБ та табельний номер);

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

  • результат об'єднання (join) декількох таблиць (наприклад, при наявності таблиць "Люди", "Адреса", "Вулиці", "Фірми та організації" можлива побудова подання, яке буде виглядати як таблиця, для кожної людини її утримує особисті дані, адресу місця проживання, назва організації, де він працює, і адресу цієї організації);

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

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

  • практично будь-яку комбінацію перерахованих вище можливостей.

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