День 26. Продолжаю изучение Microsoft SQL Server и T-SQL
Автор статьи никого не призывает к правонарушениям и отказывается нести ответственность за ваши действия. Вся информация предоставлена исключительно в ознакомительных целях. Все действия происходят на виртуальных машинах и внутри локальной сети автора. Спасибо!
Вчера разбирался с Microsoft SQL Server и T-SQL. Сегодня буду продолжать, перейду к группировке и дальше по плану. Что касается агрегатных функций в T-SQL, их несколько: AVG
(находит среднее значение), SUM
(находит сумму значений), MIN
(находит наименьшее значение), MAX
(наибольшее) и COUNT
(находи количество строк в запросе).
Для практики найдет средний возраст пользователей:
SELECT AVG(age) AS average_age FROM users
А если применить оператор DISTINCT
, то можно применять эти пять функций для уникальных значений:
SELECT AVG(DISTINCT age) AS average_age FROM users
По умолчанию, вместо DISTINCT
применяется оператор ALL
. Так же можно комбинировать:
SELECT AVG(age) AS average_age,
MAX(age) AS min_age
FROM users
Для группировки данных используются операторы GROUP BY
и HAVING
(подробнее на https://metanit.com/sql/sqlserver/5.2.php).
T-SQL поддерживает подзапросы (https://metanit.com/sql/sqlserver/6.1.php), которые могут быть как коррелирующими, так и нет. При помощи оператора EXISTS
можно проверить, возвращает ли подзапрос какое-либо значение.
При помощи команды SELECT
мы можем соединять таблицы (https://metanit.com/sql/sqlserver/7.1.php). Но таким образом происходит неявное соединение таблиц. Для явного соединения данных из двух таблиц применяется оператор JOIN
. В большинстве случаев в условии соединения применяются первичный и внешний ключи.
Оператор UNION
тоже соединяет две таблицы. Этот оператор объединяет однотипные наборы данных из разных таблиц в один.
Оператор EXCEPT
позволяет найти разность двух выборок. А оператор INTERSECT помогает найти общие строки для двух таблиц.
В T-SQL есть встроенные функции (https://metanit.com/sql/sqlserver/8.1.php), переменные, условные выражения, циклы (https://metanit.com/sql/sqlserver/9.1.php).
Представления (views)
В T-SQL есть представления, которые являются виртуальными таблицами. Они упрощают комплексные SQL-операции и дают доступ к части таблицы, а также позволяют возвращать отформатированные значения из таблиц в требуемой форме.
Еще раз про переменные
Помимо табличных переменных можно определять временные таблицы. Временные таблицы существуют на протяжении сессии базы данных.
Хранимые процедуры
Другими словами – функции. T-SQL поддерживает их. Они упрощают работу с комплексными операциями. Процедуры поддерживают параметры (https://metanit.com/sql/sqlserver/11.2.php).
Так же T-SQL поддерживает триггеры, которые вызываются автоматически при совершении какого-либо действия (https://metanit.com/sql/sqlserver/12.1.php).
Думаю, достаточно, завтра пока не знаю к чему перейду. С четвертым пунктом плана самостоятельного обучения закончил.