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

Навигация

⇒ SQL\T-SQL ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


T-SQL 2012: Подзапросы и обобщенные табличные выражения


--Простой вложенный запрос
SELECT serial
FROM billing.dbo.station
WHERE mask IN (SELECT mask FROM billing.dbo.station WHERE mask = '255.255.255.0')

--Коррелированный вложенный запрос(повторяющийся вложенный запрос). 
--Вложенный запрос зависит по значению от внешнего запроса. 
--Т.е. выполнение вложенного запроса повторяется по одному разу для каждой строки, которая может быть выбрана внешним запросом.

SELECT serial,
(
    SELECT TOP(1) mask 
    FROM billing.dbo.station AS t2
    WHERE t1.ip = t2.ip
)
FROM billing.dbo.station AS t1;

--Обобщенные табличные выражения (ОТВ) можно представить себе как временные результирующие наборы, определенные в области выполнения единичных инструкций SELECT, INSERT, UPDATE, DELETE или CREATE VIEW. 
--ОТВ, как и производные таблицы, не сохраняются в базе данных в виде объектов, время их жизни ограничено продолжительностью запроса. 
--Но, в отличие от производных таблиц, ОТВ могут ссылаться сами на себя, а на них один и тот же запрос может ссылаться несколько раз.

--Синтаксис:
--WITH expression_name [ ( column_name [,...n] ) ]
--AS
--( CTE_query_definition )

--SELECT <column_list>
--FROM expression_name;

USE billing;

WITH CTE (serial)
AS
(
    SELECT serial
    FROM dbo.station
    WHERE mask = '255.255.255.248'
)

SELECT COUNT(serial) AS TotalRows
FROM CTE


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

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

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

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

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





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