Речення SQL from вибирає та об’єднує ваші таблиці та є першою виконаною частиною запиту. Це означає, що в запитах із об’єднаннями першим відбувається об’єднання. Рекомендується обмежувати або попередньо агрегувати таблиці перед потенційно великими об’єднаннями, які в іншому випадку можуть дуже інтенсивно використовувати пам’ять.
Це також допомагає передбачити результати запитів, усунути проблеми та оптимізувати продуктивність. Який правильний порядок виконання для заданого запиту? Правильний порядок виконання в SQL такий FROM, WHERE, GROUP BY, HAVING, SELECT, DISTINCT, ORDER BY та LIMIT.
внутрішній запит Коли оператор пишеться з підзапитом, внутрішній запит виконується першим. Внутрішній запит повертає значення або набір значень до зовнішнього запиту. Потім зовнішній запит виконується з результатом внутрішнього запиту.
Що таке порядок виконання SQL?
- ВІД/ПРИЄДНАТИСЯ. Речення FROM та/або JOIN виконуються першими, щоб визначити дані, що цікавлять.
- ДЕ. Речення WHERE виконується, щоб відфільтрувати записи, які не відповідають обмеженням.
- ГРУПУВАТИ ЗА. …
- МАЮЧИЙ. …
- ВИБРАТИ. …
- СОРТУВАТИ ЗА. …
- ОБМЕЖЕННЯ/ЗМІЩЕННЯ.
Якщо він складний і/або використовується багато разів у основному запиті, я б використав CTE (або тимчасові таблиці, якщо це в параметрах). CTE, як правило, більш читабельні та організовані, ніж підзапити. Однак інколи має сенс розміщувати його як підзапит, особливо якщо він простий. Загалом це також швидше.