logo

SQL | Підзапити в реченні From

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

Підзапит у реченні FROM

Речення FROM можна використовувати для визначення виразу підзапиту в SQL. Відношення, створене підзапитом, потім використовується як нове відношення, до якого зовнішній запит застосовується для подальших операцій. Підзапити вFROMвикористовується, коли нам потрібно створити тимчасовий набір даних, який не існує в жодній фізичній таблиці. Це може бути надзвичайно корисним під час роботи зі складними наборами даних.

наскільки великий екран мого монітора

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



1. Простий підзапит уFROMпункт:

ВИБРАТИ стовпець1 стовпець2

FROM (SELECT column_x AS C1 column_y FROM table WHERE умова) AS subquery_table

WHERE зовнішня_умова;

набори в java

2. Підзапит уFROMп. сJOIN:

ВИБРАТИ стовпець1 стовпець2

FROM (SELECT column_x AS C1 column_y FROM table WHERE PREDICATE_X) AS table2

JOIN table1 ON table2.some_column = table1.some_column

WHERE ПРЕДИКАТ;

listnode java

Параметри:

  • Підзапит : Внутрішній запит, укладений у дужки. Він отримує дані, які діятимуть як тимчасова таблиця.
  • Псевдонім : підзапиту має бути присвоєно псевдонім (subquery_table), на який буде посилатися у зовнішньому запиті.
  • Зовнішній запит : тоді зовнішній запит може працювати з цією тимчасовою таблицею, створеною підзапитом із застосуванням фільтрів або виконанням подальших операцій.

Як працюють підзапити в пропозиції FROM

  • Оцінка підзапиту : спочатку оцінюється підзапит у пропозиції from, а потім результати оцінки зберігаються в новому тимчасовому відношенні. 
  • Зовнішній запит : Після виконання підзапиту та повернення набору даних зовнішній запит оцінюється, вибираючи лише ті кортежі з тимчасового відношення, які задовольняють предикат у реченні where зовнішнього запиту.

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

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

Інструктор Таблиця 

Ідентифікатор викладачаІм'явідділЗарплата
44547СмітІнформатика95000
44541БіллЕлектричний55000
47778На самотіГуманітарні науки44000
48147ЕрікМеханічний80000
411547БальзамІнформаційні технології65000
48898ЄнаЦивільний50000

відділ Таблиця

Назва відділуБюджет
Інформатика100000
Електричний80000
Гуманітарні науки50000
Механічний40000
Інформаційні технології90000
Цивільний60000

приклад 1: Знайдіть усіх професорів, зарплата яких перевищує середній бюджет усіх кафедр. 

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

Запит:   

перезапустіть mysql ubuntu
SELECT I.InstructorID I.Name I.Department I.Salary  
FROM (SELECT AVG(Budget) AS averageBudget FROM Department) AS BUDGET
Instructor AS I
WHERE I.Salary > BUDGET.averageBudget;

Вихід  

Ідентифікатор викладачаІм'явідділЗарплата
44547СмітІнформатика95000
48147ЕрікМеханічний80000

Пояснення:

  • Середній бюджет усіх відділів із відношення відділу становить 70 000.
  • Ерік і Сміт є єдиними інструкторами у відношенні інструкторів, чия зарплата перевищує 70 000 і тому присутні у відношенні результатів. 

Навіщо використовувати підзапити в реченні FROM?

Нижче наведено кілька переваг використання підзапитів у реченні FROM:

  • Спрощення : вони можуть спростити складні запити, розбиваючи їх на більш дрібні, більш керовані частини. Вам не потрібно явно створювати тимчасові таблиці у своїй базі даних.
  • Покращена читаність : використання підзапитів у реченні FROM робить запит більш читабельним оскільки він розділяє > Гнучкість : Підзапити дозволяють виконувати операції, які інакше були б незручними, як агрегації чи фільтрування щодо інших наборів даних, без необхідності створювати проміжні таблиці.

Висновок

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

Створіть вікторину