Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Використання Внутрішніх Підзапитів у Секції FROM | Section
Розширений Рівень SQL
Секція 1. Розділ 11
single

single

bookВикористання Внутрішніх Підзапитів у Секції FROM

Свайпніть щоб показати меню

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

З цього можна зробити висновок, що також можна використовувати внутрішній запит у секції FROM, щоб вибрати дані з цієї таблиці.

Розглянемо приклад, коли потрібно працювати з employees, у яких salary перевищує певне значення. Але замість оператора WHERE використаємо внутрішній запит:

123456
SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
copy

Створено нову таблицю за допомогою внутрішнього підзапиту, з якою можна працювати та отримувати інформацію.

Note
Примітка

Зверніть увагу, що для такої таблиці обов'язково потрібно вказати псевдонім.

Коли це може бути корисно?

Такий запит є дуже читабельним; іноді він може замінити оператор WHERE.

Крім того, якщо потрібно працювати не з усією таблицею, а лише з відфільтрованою частиною, внутрішній підзапит у секції FROM може бути надзвичайно зручним.

Завдання

Swipe to start coding

Ваше завдання — отримати середній бюджет (стовпець budget) для всіх управлінських відділів з таблиці department. Використайте внутрішній підзапит у секції FROM, щоб відфільтрувати лише відділи з типом 'manager'. Також використайте псевдонім manager_departments для цієї таблиці, щоб завдання було перевірено коректно.

Відповідь повинна містити лише один стовпець — average_budget. Це псевдонім для агрегатної функції AVG().

Це завдання також можна виконати за допомогою WHERE, але тут використовується вкладений запит для практики цього синтаксису, який стане у пригоді для розв'язання складніших задач у майбутньому.

Коротка інструкція

  • Отримайте середнє значення стовпця budget.
  • Присвойте цьому стовпцю псевдонім average_budget.
  • У секції FROM напишіть вкладений запит.
  • У вкладеному запиті виберіть усі стовпці з таблиці department.
  • У вкладеному запиті використайте WHERE з умовою type = 'manager'.
  • Присвойте вкладеному запиту псевдонім manager_departments.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 11
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt