Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МВ_ОБД-зф.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
962.05 Кб
Скачать

Завдання 4 Використання вкладених запитів

В цьому завданні в кожному запиті використовуються дані з декількох таблиць. В запиті потрібно встановити зв’язки між таблицями. Зв’язки можна встановлювати за бажанням: в розділі FROM або в розділі WHERE.

В кожному завданні потрібно використати вкладений запит, якій розраховує деяку множину номерів відділів, або номерів посад, або номерів (кодів) працівників. Основний запит обирає записи, які повинні входити (або не входити) у розраховану множину номерів (відділів, посад, працівників).

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

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

Нижче перелічені всі запити, але кожен студент виконує лише 2 запити, номери яких перелічені в його варіанті завдання. Для кожного запита потрібно у звіт записати завдання, SQL-код запиту, та копію екрану з результатом запиту.

Запити:

  1. Для працівників без вищої освіти, які не працюють за сумісництвом (не входять в множину працівників-сумісників), вибрати: прізвище з ініціалами, назву посади, освіту, відділ, зарплату (зарплата розраховується за формулою money*Stavka).

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

  3. Для працівників, що працюють як сумісники (входять в множину працівників-сумісників) і як основні працівники, вибрати: прізвище з ініціалами, назву посади по основній роботі, освіту, відділ (де працює по основній роботі), оклад (по основній роботі). (Основна робота буде у якості умови фільтру у основному запиті; у вкладеному запиті буде розраховуватися множина кодів працівників, що працюють за сумісництвом).

  4. Для працівників з дітьми, що не працюють як основні працівникі (не входять в множину основних працівників), вибрати: прізвище з ініціалами, назву посади, кількість дітей, відділ, зарплату (зарплата розраховується за формулою money*Stavka).

  5. Для працівників з відділів, в яких немає сумісників, вибрати: прізвище з ініціалами, вік, назву посади, відділ, освіту, оклад.

  6. Для працівників з відділів, в яких немає жінок, вибрати: прізвище з ініціалами, назву посади, відділ, освіту, сімейний стан.

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

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

Виконання запитів по варіантах завдань

Варіант завдання

Номер запита

1

2

3

4

5

6

7

8

1

+

+

2

+

+

3

+

+

4

+

+

5

+

+

6

+

+

7

+

+

8

+

+

9

+

+

10

+

+

11

+

+

12

+

+