Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

величко / л.р. 7 / лист с печатью

.doc
Скачиваний:
7
Добавлен:
23.02.2015
Размер:
48.13 Кб
Скачать

Цель: научить использовать конструкцию JOIN для внешнего и внутреннего соединения двух или более таблиц.

Задание 1. Получите список товаров с указанием их категорий.

  1. Так как в таблице Product нормализованной базы данных AdventureWorks2008 хранится только идентификатор категории товара, то чтобы получить список товаров с указанием их категорий, необходимо соединить таблицы Product и ProductSubcategory.

  2. Перед указанием поля в операторе SELECT необходимо будет использовать имена таблиц Product и ProductSubcategory для разрешения конфликтов, т.к. в обеих таблицах присутствуют поля Name.

SELECT Product.Name, ProductSubcategory.Name, Product.ListPrice

FROM Production.Product INNER JOIN Production.ProductSubcategory

ON Product.ProductSubcategoryID = ProductSubcategory.ProductSubcategoryID

Задание 2. Создайте запрос, возвращающий имя заказчика и дату размещения заказа.

  1. Выполните следующий код:

SELECT FirstName, LastName, OrderDate FROM Person.Person

LEFT JOIN Sales.Customer

ON Customer.PersonID = Person.BusinessEntityID

LEFT JOIN Sales.SalesOrderHeader

ON Customer.CustomerID = SalesOrderHeader.CustomerID

Для лиц, не размещавших заказы, в поле OrderDate содержится значение NULL.

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

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

Задание 3. С помощью перекрестного соединения можно перечислить все возможные способы поставки товаров в базе данных Northwind (поставлялась с MS SQL Server до появления AdventureWorks2008).

SELECT DISTINCT Suppliers.Country, Orders.ShipCountry

FROM Suppliers CROSS JOIN Orders

Вывод: Я научился использовать конструкцию JOIN для внешнего и внутреннего соединения двух или более таблиц.

Соседние файлы в папке л.р. 7