Перед тем как приступить к решению задач по SQL, обязательно ознакомьтесь с информацией, представленной на этой странице.
Правильный порядок операторов в запросе выглядит так:
SELECT -- перечисление полей результирующей таблицыFROM -- указание источника данныхWHERE -- фильтрация данныхGROUP BY -- группировка данныхHAVING -- фильтрация данных после группировкиORDER BY -- сортировка результирующей таблицы, ASC (по возрастанию) или DESC (по убыванию)LIMIT -- ограничение количества выводимых записей
Последовательность выполнения операторов в SQL-запросе:
- Сначала выполняется оператор
FROM— происходит выбор нужной таблицы. - Затем
SELECT— отбираются указанные столбцы. - Потом
ORDER BY— производится сортировка результирующей таблицы. - И в самом конце
LIMIT— ограничивается количество выводимых записей.
Алиасы
При составлении SQL-запросов колонкам в результирующей таблице можно присваивать любые другие имена (их ещё называют «алиасами»). Это можно делать с помощью оператора AS:
SELECT name AS new_name FROM table
Если вдруг покажется, что на написание оператора AS уходит слишком много времени и сил, то его можно опустить, указав новое имя колонки без него. Следующая запись тоже сработает:
SELECT name new_name
FROM table
Функции
В SQL-запросах к колонкам таблиц можно применять разные функции — так же, как, например, в Excel. В общем виде синтаксис функций выглядит примерно так:
SELECT function(a, b, c, ...)FROM table
Вместо function указывается название функции, а в скобках — её аргументы. В качестве аргументов могут выступать как колонки со значениями, так и отдельные значения. В зависимости от функции количество необходимых для её работы аргументов может отличаться.
Функции также можно применять к результату других функций, т.е. последовательно:
SELECT function_one(function_two(a, b), c)
В приведённой выше конструкции a, b, c — аргументы функций. При этом одним из аргументов функции function_one является результат выполнения функции function_two. Таким образом, сначала будет выполнена функция function_two, а затем её результат будет подан на вход функции function_one в качестве одного из аргументов.