27
Июня
2023
г.
Порядок выполнения SELECT запроса в mysql
В каком же порядке выполняется sql запрос
# 1. Определение таблиц, секция FROM
SELECT * FROM `user`,`audit_kp` WHERE audit_kp.author_id = `user`.id
# 2. Объединение таблиц, секция JOIN
SELECT * FROM `user` JOIN audit_kp ON `user`.id = audit_kp.author_id # Результат с запросом выше идентичен
# 3. Условие WHERE
SELECT * FROM `user` WHERE `status` <> 10
SELECT * FROM `user` WHERE `status` != 10
SELECT * FROM `user` WHERE `status` = 10 AND departament = 5
# 4. Группировка строк GROUP BY
SELECT * FROM `user` WHERE `status` = 10 GROUP BY departament # Получим по одному представителю своего отдела
# 5. HAVING Уточнение выборки после GROUP BY
SELECT * FROM `user` WHERE `status` = 10 GROUP BY departament HAVING role = 3
# 6. Выбор столбцов и выполнение агрегатных функций в секции SELECT
SELECT COUNT(*),departament,username FROM `user` # Всего записей в таблице
# 7. Сортировка столбцов ORDER BY
SELECT * FROM `user` ORDER BY id ASC
SELECT * FROM `user` ORDER BY id DESC
SELECT * FROM `user` ORDER BY username ASC, status DESC # Сортировка сразу по двум полям
# 8. LIMIT Ограничить количество выводимых строк
SELECT * FROM `user` LIMIT 10 # 10 первых строк
SELECT * FROM `user` LIMIT 10 OFFSET 10 # или SELECT * FROM `user` LIMIT 10,10
В итоге у нас получается порядок следующий
FROM
JOIN
WHERE
GROUP BY
HAVING
SELECT
ORDER BY
LIMIT
Возник вопрос или предложение пиши на почту
alexsey_89@bk.ru или в
Телеграмм канал
Дата публикации: 27
Июня
2023
г.