Использование нескольких CTE в одном SQL-запросе в MySQL
Автор Бен Надел. Веб-разработчик с 25 летним стажем На работе мы недавно обновились до MySQL 8. И это, наконец, дало мне возможность начать экспериментировать с более продвинутыми концепциями из-за большого количества разовых отчетов, которые мне приходится запускать. Несколько недель назад я изучил использование конструкций VALUES и ROW для создания обобщенных табличных выражений (Common Table Expression, CTE). И, как продолжение этого, я только что узнал, что в одном запросе MySQL можно иметь несколько CTE...
CTE в SQL: как писать читаемые запросы с WITH
CTE (Common Table Expression) — именованный временный результат запроса, который можно использовать как таблицу внутри основного запроса. Делает сложные запросы читаемыми. Открыть тренажёр → https://sqllab.ru/practice WITH название AS ( SELECT ... ) SELECT * FROM название; Без CTE: SELECT user_id, COUNT(*) AS orders_count FROM ( SELECT user_id FROM orders WHERE status = 'completed' ) sub GROUP BY user_id HAVING COUNT(*) > 5; С CTE: WITH completed_orders AS ( SELECT user_id FROM orders WHERE status...