Підзапити 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, особливо коли має справу зі складними базами даних або коли потрібно здійснювати складний аналіз даних.
Створіть вікторину