Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒SQL\T-SQL⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐Python
⇐FreeBSD and Nix
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA

T-SQL 2014: SELECT


USE AdventureWorks2014;

--Конструкция SELECT:
--1 - SELECT (DISTINCT TOP)
--2 - FROM
--3 - WHERE
--4 - GROUP BY
--5 - HAVING
--6 - ORDER BY

--Последовательность логической обработки SELECT
--1 - FROM
--2 - WHERE
--3 - GROUP BY
--4 - HAVING
--5 - SELECT (DISTINCT TOP)
--6 - ORDER BY

-- Параметр DISTINCT показывает только уникальные записи, удаляя повторения
-- Параметр TOP определяет какое количество записей будет выведено
-- FROM указывает цель запроса (например таблица)
-- WHERE указывает условия отбора, распознает логические операторы NOT, OR, AND
-- GROUP BY определяет поле для группировки записей в запросе
-- ORDER BY определяет поле для сортировки записей в запросе, ASC - сортировка по возрастанию,DESC - по убыванию

--Простой пример
SELECT 1, 25 - 7, 'Test' AS word

--Определенное число записей в выводе
SELECT TOP 10 * FROM [Sales].[SalesPerson]

--Вывод уникальных значений
SELECT DISTINCT BONUS FROM [Sales].[SalesPerson]

--Вывод с условием
SELECT * FROM [Sales].[SalesPerson] WHERE BONUS >= 3500 AND BONUS < 5650

--Вывод с сортировкой по столбцу
SELECT * FROM [Sales].[SalesPerson] ORDER BY Bonus DESC

--Вывод с группировкой по столбцам (в данном примере функция SUM - суммирует значения)
SELECT ModifiedDate, SUM(SalesLastYear) FROM [Sales].[SalesPerson] 
GROUP BY ModifiedDate 

--Вывод с группировкой по столбцам (в данном примере функция CAST - преобразует значения в дату), HAVING - условие
SELECT ModifiedDate, SUM(SalesLastYear) FROM [Sales].[SalesPerson] 
GROUP BY ModifiedDate HAVING CAST(ModifiedDate AS DATE) >= '2012-05-23'

-- Вывод с проверкой на "пустые" значения NULL
SELECT * FROM [Sales].[SalesPerson] WHERE SalesQuota IS NOT NULL

--WITH TIES возвращает две или более строки, которые совместно занимают последнее место в ограниченном результирующем наборе
SELECT TOP 1 WITH TIES 
BONUS  FROM [Sales].[SalesPerson] WHERE BONUS = 0 ORDER BY BONUS

-- Подзапросы
SELECT BONUS,(SELECT MAX(BONUS) FROM [Sales].[SalesPerson]) AS MAXBONUS FROM [Sales].[SalesPerson] 
WHERE BONUS IN (SELECT MIN(BONUS) FROM [Sales].[SalesPerson])


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru