Підручник з MySQL

Автор: Janice Evans
Дата Створення: 24 Липня 2021
Дата Оновлення: 18 Грудень 2024
Anonim
Настройка уведомлений из базы в телеграм. MySQL в Huginn
Відеоролик: Настройка уведомлений из базы в телеграм. MySQL в Huginn

Зміст

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


Використовуйте підзапити, щоб створити більш чисті та компактні пропозиції (Зображення Thinkstock / Comstock / Getty Images)

Синтаксис

Основний синтаксис підзапиту:

SELECT * FROM таблиця1 WHERE columnA = (SELECT columnB ВІД таблиці2) GO

Підзапити повинні складатися з оператора "SELECT", "INSERT", "UPDATE", "DELETE", "SET" або "DO", і ви не можете змінювати таблицю і використовувати її в підзапросі одночасно. Підзапити зазвичай використовуються на правій стороні пропозиції WHERE, яка може містити будь-який з порівняльних і логічних операторів, таких як = (рівний), <> (інший), <= (менше або рівний),> = або "BETWEEN" (між двома значеннями), "NOT", "AND" і "OR". Також можна використовувати ключові слова "DISTINCT", "GROUP BY", "ORDER BY" і "LIMIT" і навіть поєднуватись з операторами "JOIN". Окрім детальних обмежень, існує декілька обмежень при написанні підзапитів у MySQL.


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

Приклад

Припустимо, у вас є дві таблиці: одна з ім'ям і прізвищем, адресою та поштовим індексом членів списку розсилки, а інша - з містами, штатами та поштовим індексом. Щоб знайти імена учасників, що живуть у Бразиліа, можна використовувати кілька пропозицій "вибору". Перший шукатиме CEP Бразиліа:

SELECT FROM FROM коди WHERE стан = "BRASILIA" GO

Потім використовуйте "вибір" для кожного знайденого поштового індексу:

Ім'я SELECT, прізвище FROM адреси WHERE cep = [codecep] GO

Цей метод є трудомістким і легким для помилок. Легко втратити поштовий індекс, особливо якщо їх занадто багато. Більш простий спосіб виконати це завдання - використовувати перше речення як підзапит у другому:

SELECT ім'я, прізвище FROM адреси WHERE cep = (SELECT cep FROM коди WHERE стан = "BRASILIA") GO


Цей запит покаже всім членам вашого списку розсилки, які проживають у Бразилії.