×
Главная   »   Заметки   »   День 26. Продолжаю изучение Microsoft SQL Server и T-SQL
День 26. Продолжаю изучение Microsoft SQL Server и T-SQL
Метки:      ,   ,   ,   

Продолжаю изучение 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).

Думаю, достаточно, завтра пока не знаю к чему перейду. С четвертым пунктом плана самостоятельного обучения закончил.

338 просмотров
04.08.2022
Автор