Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Псевдонимы в итоговом наборе

Секция FROM

Declare @a int

Declare @a int

Пример.

Присвоение значений переменным

Ключевые слова all и distinct

Пример.

SELECT '123', Товар, @@SERVERNAME, Количество_ед_товара*Цена_ед_товара FROM Поставки

 

Эта команда возвращает

· столбец констант ‘123’,

· столбец базы данных с именем Товар,

· столбец, содержащий значение функции @@servername,

· производный столбец Количество_ед_товара*Цена_ед_товара

 

 

Чтобы список выборки содержал все столбцы таблицы, можно либо перечислить имена всех столбцов, либо включить в список выборки символ звездоч­ки (*).

Символ * может быть указан наряду с ограничениями, именами столбцов и производными столбцами.

 

Следующий пример демонстрирует использование звездочки в команде select:

SELECT * FROM Поставки

 

SELECT *, @@SERVERNAME, Количество_ед_товара*Цена_ед_товара FROM Поставки

 


 

По умолчанию команда select возвращает все записи, включая дубликаты.

Чтобы явно запросить все записи, перед спи­ском выборки в команду помещается ключевое слово all:

SELECT ALL *, @@SERVERNAME,

Количество_ед_товара * Цена_ед_товара FROM Поставки

Без ключевого слова all всегда можно обойтись. Оно поддерживается только для того, чтобы T-SQL соответствовал стандарту ANSI.

Чтобы команда select возвращала только уникальные записи, пе­ред списком выборки необходимо поставить ключевое слово distinct. Обратите внимание, ключевые слова all и distinct должны находиться сразу же после ключе­вого слова select:

 

SELECT DISTINCT ‘123’, Товар, Количество_ед_товара*Цена_ед_товара FROM Поставки

Причиной ограниченного применения DISTINCT является то, что его использование может резко замедлить выполнение запросов.

 


 

Команда select позволяет присвоить значения переменным.

Но в одной команде select нельзя присваивать значения переменным сделать и получать результирующий набор.

Переменные в SQL имеют префикс @.

Если @а - целая переменная, то следующая, команда select будет верна:

SELECT @a = 5

 

Однако следующая команда select недопустима:

SELECT @а = 5, Id_товара FROM Товары

 

 

Секция from определяет источники данных для выборки.

Вы можете обра­щаться к данным из таблиц, представлений или производных таблиц.

 

Без секции from команда select может лишь

· присваивать значения перемен­ным,

· возвращать переменные,

· выполнять функции.


 

При выполнении команды select в итоговый набор для каждого возвращаемого столбца включается заголовок по умолчанию, совпадающий с его названием.

Значения констант, функции и производные столбцы имеют пустые головки.

 

Так в предыдущем примере для константы, функции @@servername и набора Количество_ед_товара*Цена_ед_товара был бы создан пустой заголовок, а для столбца Товар - заголовок Товар.

В списке выборки можно изменить заголовки столбцов и назначить им псевдонимы.

В SQL Server существуют три формы назначения заголовков для итогового набора.

Например, чтобы задать колонке Товар заголовок Поставлен_товар, в операторе SELECT можно использовать один из приемов:

 

1. Поставлен_товар = Товар

2. Товар Поставлен_товар

3. Товар AS Поставлен_товар

 

 

Если заголовок столбца содержит какие-либо специальные символы (напри­мер, пробелы), его необходимо заключить в кавычки.

примечание

Microsoft SQL Server позволяет использовать в командах SQL как апострофы ('), так и кавычки (").

 

В стандарте ANSI для имен объектов и заголовков столб­цов со специальными символами используются кавычки, а для всего остально­го - апострофы.

 

Лучше следовать этим правилам.


 

Псевдонимы таблиц

Если имя таблицы длинное или трудное для запоминания, для нее можно опреде­лить псевдоним. Псевдоним (alias) представляет собой более корот­кое и легко запоминающееся имя таблицы.

Если для таблицы задается псев­доним, то в командах select вы уже не сможете ссылаться на нее по имени, если только таблица не упоминается в секции from несколько раз.

 

Пример.

SELECT M.Название_фирмы, Поставщики.Фамилия

FROM Поставщики M, Поставщики

 

В этом примере первому экземпляру таблицы Поставщики назначается псевдоним м. Сек­ция from также содержит Поставщики без псевдонима. Столбец Название_фирмы берется из экземпляра-псевдонима м, а столбец Фамилия - из обычного экземпляра Поставщики.

 

Следующий пример демонстрирует применение псевдонимов для сокраще­ния длинного имени таблицы:

SELECT M.Поставщик FROM MyVeryVeryVeryLongTableName AS M

 

В ЭТОМ примереMyVeryVeryVeryLongTableName - имя таблицы, а М – псевдоним.

Псевдонимы также можно применять при создании производных таблиц, возникающих при использовании подзапросов (когда секция from вместо имени таблицы содержит команду select). В этом случае данные производной таблицы состоят из данных, которые возвращаются командой select.

<== предыдущая лекция | следующая лекция ==>
F. Rollback | DECLARE @R INT
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 233; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.