Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ SQL\T-SQL ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

FreeBSD and Nix

Общая

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])


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

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

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

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

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект