Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Method_ЛР_БД(1).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
921.09 Кб
Скачать

3.4 Методика виконання

Проходимо сесію, обираємо вкладку Query. У вікні, що з’явиться, і потрібно створювати запит мовою SQL. Назви таблиць і стовпців можна писати, перетаскувати. Якщо клікнути на назві таблиці products, то справа у вкладці Query profil зокрема з’явиться Columns in products. Тиснемо на +, отримаємо назви полів, які можна перемістити для формування скрипта. Також є типи даних. Зліва можна перемістити назви таблиць.

Наприклад, створили запит

1 select name, prodid

2 from products

3 order by name;

Для виконання запиту тиснемо правою кнопкою по запиту, потім – RUN. Або тиснемо лівою кнопкою на .

У переліку SQL Functions за абеткою наведені функції, що виконуються у запиті, наприклад, AVG(), BETWEEN, COUNT(), CURRENT_DATE.

3.5 ЗМІСТ ЗВІТУ

Розділ звіту “Результати роботи” повинен містити скрипти і результати запитів.

3.6 Контрольні питання

1. Чи будуть працювати наступні оператори SELECT? Якщо ні, то що в них слід виправити?

а) SELECT SUM(SALARY), EMP_ID FROM EMPLOYEE_PAY_TBL GROUP BY 1 AND 2;

б) SELECT EMP_ID, MAX(SALARY) FROM EMPLOYEE_PAY_TBL GROUP BY SALARY, EMP_ID;

в) SELECT EMP_ID, COUNT(SALARY) FROM EMPLOYEE_PAY_TBL ORDER BY EMP_ID GROUP BY SALARY;

2. Чи вірне наступне твердження: "При використанні ключового слова HAVING необхідно використати також і ключове слово GROUP BY?"

3. Чи вірне наступне твердження: "Наступний оператор SQL повертає суми зарплат по групам?"

SELECT SUM(SALARY)

FROM EMPLOYEE_PAY_TBL;

4. Чи вірне наступне твердження: "Вибранні у запиті стовпці повинні бути присутні в списку ключового слова GROUP BY у тому ж порядку?"

5. Чи вірне наступне твердження: "Вираз ключового слова HAVING говорить GROUP BY про те, які групи слід включити у виведення?"

6. Напишіть скрипт за вказівкою викладача.

7. Синтаксис SELECT.

8.Як зберегти результати запиту в таблиці?

9. Агрегатні функції.

10. Функції для роботи с датами і часом

Лабораторна робота 4

БАГАТОТАБЛИЧНІ ЗАПИТИ

4.1 Мета роботи Вивчення мови запитів, які поширюються на дві і більше таблиці.

4.2 Теоретичні відомості

Багатотабличний запит призначений для вибірки даних з двох або більше таблиць і включення цих даних в один результуючий набір.

Якщо є зв’язок між таблицями, можливе неявне і явне одержання результату. Явне звертання до вихідних таблиць в командах SELECT підтримується оператором JOIN з наступним синтаксисом:

table_reference, table_reference

| table_reference [CROSS] JOIN table_reference

| table_reference INNER JOIN table_reference join_condition

| table_reference STRAIGHT_JOIN table_reference

| table_reference LEFT [OUTER] JOIN table_reference join_condition

| table_reference LEFT [OUTER] JOIN table_reference

| table_reference NATURAL [LEFT [OUTER]] JOIN table_reference

{OJ table_reference LEFT OUTER JOIN table_reference ON conditional_expr}

| table_reference RIGHT [OUTER] JOIN table_reference join_condition

| table_reference RIGHT [OUTER] JOIN table_reference

| table_reference NATURAL [RIGHT [OUTER]] JOIN table_reference

де table_reference визначено, як:

table_name [[AS] alias] [[USE INDEX (key_list)] | [IGNORE INDEX (key_list)] | [FORCE INDEX (key_list)]]

і join_condition визначено, як:

ON conditional_expr |USING (column_list).

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

При необхідності з'єднання не двох, а кількох таблиць, операція з'єднання застосовується кілька разів (послідовно).

Якщо таблиці не мають зв’язку, то використовується UNION з синтаксисом:

SELECT ...

UNION [ALL | DISTINCT] SELECT ...

[UNION [ALL | DISTINCT] SELECT ...]

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