Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Переименование

Расширение

Агрегирование

Дополнительные реляционные операторы

§ агрегирование (summarize),

§ расширение (extend)

§ переименование (rename).

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

Операция агрегирования реализуется при помощи выражения GROUP BY оператора SELECT. Для каждого уникального значения указанного поля или нескольких полей возвращается одна запись. Если указано несколько полей, группы будут вложенными. Рассмотрим следующий оператор:

SELECT Categories.CategoryName, Products.ProductName,

SUM([0rder Details].Quantity) AS SumOfOuantity

FROM ((Categories INNER JOIN Products ON Categories.CategoryID=Products.CategoryID)

INNER JOIN [Order Details] ON Products.ProductID= [Order Details].Product)

GROUP BY Categories.CategoryName, Products.ProductName;

Операция расширения (extend) позволяет задать виртуальные поля, значения которых вычисляются на основании констант, хранимых в базе данных, но не хранятся в базе данных как определенные значе­ния, записываемые в файл БД на физическом уровне. Чтобы создать виртуальное поле, можно просто задать формулу для его вычисления в <списке_полей> оператора SELECT, например:

SELECT [UnitPrice]*[Oty] AS ExtendedPrice

FROM [Order Details];

Вычисления, на которых основываются определения виртуальных полей, могут быть как сложными, так и простыми. Как правило, они выполняются настолько быстро, что хранить значения вычисляемых полей в таблице бессмысленно.

И, наконец, последняя из рассматриваемых здесь дополнительных операций - переименование (rename). Операция переименования может выполняться как над набором записей из <списка_наборов_записей>, так и над отдельными полями из <списка_полей>. В механизме баз данных Microsoft Jet используется следующий синтаксис для переименования набора записей:

SELECT <имя_поля> AS <пвсевдоним_поля>

FROM <имя_таблицы> AS <псевдоним_таблицы>

В SQL Server ключевое слова AS опускается

SELECT <имя_поля> <псевдоним_поля>

FROM <имя_набора_записей> <псевдоним_набора_записей> Переименование полей применяется, как правило, когда создается представление или выполняется самосоединение таблицы, например;

SELECT Manager.Name, Employee.Name

FROM Employees AS Employee

INNER JOIN Employees AS Manager

ON Employee.EmployeeID=Manager.EnployeeID;

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

 

<== предыдущая лекция | следующая лекция ==>
Декартово произведение | Лекция 5. Сымсыз тораптар байланысының технологиясы
Поделиться с друзьями:


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


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



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




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