суббота, 30 марта 2013 г.

Как исключить повторяющиеся строки из набора



-- Сделаем выборку из AdventureWorks2012.Production.Product
-- Товары вымышленной компании AdventureWorks
SELECT
    *
FROM AdventureWorks2012.Production.Product
-- (строк обработано: 504) Все строки таблицы


-- Ключевое слово DISTINCT означает ОТЛИЧНЫЕ (от других)
-- строки результирующего набора (но НЕ таблицы!)
-- Получим уникальные значения цветов
SELECT
    DISTINCT -- отличный (от других)
         Color AS "Цвет"
FROM AdventureWorks2012.Production.Product

--(строк обработано: 10)


-- Получим все уникальные существующие сочетания цветов и товарных линеек
SELECT
    DISTINCT
         Color
              AS "Цвет"
         , ProductLine
              AS "Товарная линейка"
FROM AdventureWorks2012.Production.Product

--(строк обработано: 27)

-- Получим все уникальные существующие сочетания цветов и уникальных номеров товаров

SELECT
    DISTINCT
         Color
              AS "Цвет"
         , ProductID
              AS "Уникальный номер товара"
FROM AdventureWorks2012.Production.Product
-- (строк обработано: 504) Все строки таблицы


-- Проверим DISTINCT со звёздочкой (все колонки)

SELECT
    DISTINCT *
FROM AdventureWorks2012.Production.Product

-- (строк обработано: 504) Все строки таблицы


-- Получим список товарных линеек

SELECT
    DISTINCT ProductLine
         AS "Товарная линейка"
FROM AdventureWorks2012.Production.Product

--(строк обработано: 5)

-- Получим список ценовых категорий

SELECT
    DISTINCT
         Class AS "Ценовая категория"
FROM AdventureWorks2012.Production.Product
-- (строк обработано: 4)


-- Получим список стилей

SELECT
    DISTINCT
         Style AS "Стиль"
FROM AdventureWorks2012.Production.Product

--(строк обработано: 4)


-- Ключевое слово ALL означает ВСЕ строки результирующего набора, -- включая повторяющиеся. Слово необязательное.-- Такое выполнение происходит по умолчанию


SELECT
    ALL *
FROM AdventureWorks2012.Production.Product

-- (строк обработано: 504)


-- Отберем ВСЕ товары-- Из всех свойств товаров мы выбрали только цвет

SELECT
    ALL Color
         AS "Цвет"
FROM AdventureWorks2012.Production.Product

-- (строк обработано: 504)