понедельник, 12 августа 2013 г.

Как определить псевдонимы для столбцов набора данных


-- Выведем список товаров
-- с названием товара, полной ценой и ценой с 10 процентной скидкой

SELECT
     Name
     , ListPrice
     , ListPrice * $0.9 -- Выражение для цены со скидкой 10%
FROM AdventureWorks2012.Production.Product
WHERE ListPrice > 0
ORDER BY Name

-- Определим псевдоним для столбца, где представлена цена с 10 процентной скидкой

-- Первый способ (Предпочтительный и наиболее распространенный)
SELECT
     Name
     ,ListPrice
     , ListPrice * $0.9 -- Выражение для цены со скидкой 10%
         AS Disc10Perc -- Псевдоним Disc10Perc определен после ключевого слова AS
FROM AdventureWorks2012.Production.Product
WHERE ListPrice > 0
ORDER BY Name

-- Второй способ
SELECT
     Name
     , ListPrice
     , ListPrice * $0.9 -- Выражение для цены со скидкой 10%
         Disc10Perc -- Псевдоним Disc10Perc определен в конце описания поля
FROM AdventureWorks2012.Production.Product
WHERE ListPrice > 0
ORDER BY Name


-- Третий способ
SELECT
     Name
     , ListPrice
     , Disc10Perc = -- Псевдоним Disc10Perc определен в начале описания поля перед = (равно)
         ListPrice * $0.9 -- Выражение для цены со скидкой 10%
FROM AdventureWorks2012.Production.Product
WHERE ListPrice > 0
ORDER BY Name

-- Название псевдонима можно, а в некоторых случаях, при нарушение правил формирования идентификаторов нужно
-- заключить в двойные кавычки ("") - предпочтительный и наиболее распространенный способ,
-- одинарные кавычки (''),
-- или квадратные скобки ([])


SELECT
     Name
     , ListPrice
     , ListPrice * $0.9 -- Выражение
         AS "Цена с десятипроцентной скидкой" -- Псевдоним в двойных кавычках ("")
     , ListPrice * $0.9 -- Выражение
         AS 'Цена с десятипроцентной скидкой' -- Псевдоним в одинарных кавычках ('')
     , ListPrice * $0.9 -- Выражение
         AS [Цена с десятипроцентной скидкой] -- Псевдоним в квадратных скобках ([])
FROM AdventureWorks2012.Production.Product
WHERE ListPrice > 0
ORDER BY Name


-- Окончательный результат

SELECT
     Name
         AS "Название товара"
     , ListPrice
         AS "Цена"
     , ListPrice * $0.9
         AS "Цена с 10% скидкой"
FROM AdventureWorks2012.Production.Product
WHERE ListPrice > 0
ORDER BY Name