Соединение данных из множества таблиц. Рекомендации по выполнению работы и перечень типовых заданий. Учебно–методическое пособие
.pdfProduction.ProductionModel, Production.Product,
используя RIGHT OUTER JOIN.
4.Показать список продуктов (ProductID), которые имеют несколько причин списания (ScrapReasonID), из таблицы
Production.WorkOrder, используя SELF JOIN.
5.Показать список причин списания (ScrapReasonID), которые имеют несколько продуктов (ProductID), из таблицы
Production.WorkOrder, используя SELF JOIN.
6.Показать список товаров из таблицы Production.Product,
которые имеют такой же размер как у товара с названием «Mountain Bike Socks, M», используя SELF JOIN.
7.Показать комбинированный список таблиц Production.Product
по полям ProductID, ListPrice,
Purchasing.ProductVendor по полям ProductID,
StandardPrice, используя UNION.
8.Показать список ID, которые содержатся и в таблице Sales.Store
(поле BusinessEntityID), и в таблице Sales.Customer (поле
CustomerID).
9.Ограничить результирующий набор, полученный в п.8.
10.Пропустить 15 строк из результирующего набора, полученного в п.9.
13Вариант
1.Показать бонус (Bonus) и поля FirstName, LastName из таблиц
Person.Person, Sales.SalesPerson.
2.Показать список языков (поле Name), в котором указано, есть ли описание товаров на данном языке или нет, из таблиц
Production.Culture,
51
Production.ProductModelProductDescriptionCulture,
используя LEFT OUTER JOIN.
3.Показать список людей (поля FirstName, LastName), в котором указано, есть ли у человека часы отпуска (VacationHours) или нет,
из таблиц HumanResources.Employee, Person.Person,
используя RIGHT OUTER JOIN.
4.Показать список покупателей (CustomerID), к которым относятся несколько сроков выполнения заказа (DueDate), из таблицы
Sales.SalesOrderHeader, используя SELF JOIN.
5.Показать список сроков выполнения заказа (DueDate), которые относятся к нескольким покупателям (CustomerID), из таблицы
Sales.SalesOrderHeader, используя SELF JOIN.
6.Показать подкатегории продуктов (ProductSubcategoryID из таблицы Production.Product), которые имеют несколько цветов,
содержащих в названии букву “e”, используя SELF JOIN.
7.Показать комбинированный список таблиц Production.Product
по полям ProductID, StandardCost,
Purchasing.ProductVendor по полям ProductID,
StandardPrice, используя UNION.
8.Показать список ProductID, которые содержатся в таблице
Production.Product, но не содержатся в таблице
Production.TransactionHistoryArchive.
9.Ограничить результирующий набор, полученный в п.8.
10.Пропустить 15 строк из результирующего набора, полученного в п.9.
14Вариант
1.Показать названия подкатегорий и соответствующие им названия
категорий |
товаров |
(поля |
Name) |
из |
таблиц |
52
Production.ProductSubcategory,
Production.ProductCategory.
2.Показать список складов (поле Name), в котором указано, есть на складе товар с некоторым ID или нет, из таблиц
Production.Location, Production.WorkOrderRouting,
используя LEFT OUTER JOIN.
3.Показать список людей (поля FirstName, LastName), в котором указано, есть ли у человека часы больничного (SickLeaveHours)
или нет, из таблиц HumanResources.Employee, Person.Person,
используя RIGHT OUTER JOIN.
4.Показать список покупателей (CustomerID), которые имеют несколько стоимостей доставки (Freight), из таблицы
Sales.SalesOrderHeader, используя SELF JOIN.
5.Показать список стоимостей доставки (Freight), к которым относятся несколько покупателей (CustomerID), из таблицы
Sales.SalesOrderHeader, используя SELF JOIN.
6.Показать список имен (FirstName) начинающихся на «N», которые имеют несколько фамилий (LastName) из таблицы
Person.Person, используя SELF JOIN.
7.Показать комбинированный список таблиц Production.Product
по полям ProductID, ListPrice,
Purchasing.PurchaseOrderDetail по полям ProductID,
UnitPrice, используя UNION.
8.Показать список ProductID, которые содержатся и в таблице
Production.Product, и в таблице
Production.TransactionHistoryArchive.
9.Ограничить результирующий набор, полученный в п.8.
10.Пропустить 15 строк из результирующего набора, полученного в п.9.
53
15Вариант
1.Показать продажи с начала года (SalesYTD) и поля FirstName,
LastName из таблиц Person.Person, Sales. SalesPerson.
2.Показать список продуктов (поле Name), в котором указано, есть дата начала заказа или нет, из таблиц Production.Product,
Production.WorkOrder, используя LEFT OUTER JOIN.
3.Показать список людей (поля FirstName, LastName), в котором указано, есть ли у человека дата приема на работу (HireDate) или нет, из таблиц HumanResources.Employee, Person.Person,
используя RIGHT OUTER JOIN.
4.Показать список продавцов (SalePersonID), которые работали с несколькими регионами (TerritoryID), из таблицы
Sales.SalesOrderHeader, используя SELF JOIN.
5.Показать список регионов (TerritoryID), с которыми работали несколько продавцов (SalePersonID), из таблицы
Sales.SalesOrderHeader, используя SELF JOIN.
6.Показать список моделей продуктов (ProductModelID), которые имеют несколько нормативных цен (StandardCost) меньше 700,
из таблицы Production.Product, используя SELF JOIN.
7.Показать комбинированный список таблиц Production.Product
по полям ProductID, StandardCost,
Purchasing.PurchaseOrderDetail по полям ProductID,
UnitPrice, используя UNION.
8.Показать список BusinessEntityID, которые содержатся в таблице Person.Person, но не содержатся в таблице
HumanResources.EmployeePayHistory.
9.Ограничить результирующий набор, полученный в п.8.
10.Пропустить 15 строк из результирующего набора, полученного в п.9.
54
16Вариант
1.Показать названия единиц измерения размера товаров и названия товаров (поля Name) из таблиц Production.Product,
Production.UnitMeasure.
2.Показать список товаров (поле Name), в котором указано, указана ли электронная почта рецензента товара или нет, из таблиц
Production.Product, Production.ProductRewiew,
используя LEFT OUTER JOIN.
3.Показать список людей (поля FirstName, LastName), в котором указано, есть ли у человека ставка оплаты (Rate) или нет, из таблиц
HumanResources.EmployeePayHistory, Person.Person,
используя RIGHT OUTER JOIN.
4.Показать список типов спецпредложений (Type), которые имеют несколько категорий получателей спецпредложения (Category), из таблицы Sales.SpecialOffer, используя SELF JOIN.
5.Показать список категорий получателей спецпредложения
(Category), которые имеют несколько типов спецпредложений
(Type), из таблицы Sales.SpecialOffer, используя SELF JOIN.
6.Показать список имен (FirstName) заканчивающихся на «a»,
которые имеют несколько фамилий (LastName) из таблицы
Person.Person, используя SELF JOIN.
7.Показать комбинированный список таблиц
Purchasing.ProductVendor по полям ProductID,
StandardPrice, Purchasing.PurchaseOrderDetail по полям ProductID, UnitPrice, используя UNION.
8.Показать список BusinessEntityID, которые содержатся и в таблице Person.Person, и в таблице
HumanResources.EmployeePayHistory.
55
9.Ограничить результирующий набор, полученный в п.8.
10.Пропустить 15 строк из результирующего набора, полученного в п.9.
17Вариант
1.Показать продажи за прошлый год (SalesLastYear) и поля
FirstName, LastName из таблиц Person.Person, Sales.
SalesPerson.
2.Показать список продуктов (поле Name), в котором указано, есть срок выполнения (DueDate) заказа или нет, из таблиц
Production.Product, Production.WorkOrder, используя
LEFT OUTER JOIN.
3.Показать список людей (поля FirstName, LastName), в котором указано, есть ли у человека дата начала работы или нет, из таблиц
HumanResources.EmployeeDepartmentHistory,
Person.Person, используя RIGHT OUTER JOIN.
4.Показать список типов спецпредложений (Type), которые имеют несколько дат начала (StartDate), из таблицы
Sales.SpecialOffer, используя SELF JOIN.
5.Показать список дат начала спецпредложений (StartDate), к
которым относятся несколько типов спецпредложений (Type), из таблицы Sales.SpecialOffer, используя SELF JOIN.
6.Показать список продуктов из таблицы
Production.ProductInventory, содержащихся на нескольких складах (LocationID), LocationID которых оканчивается на 0,
используя SELF JOIN.
7.Показать комбинированный список таблиц
Purchasing.PurchaseOrderHeader по полям
PurchaseOrderID, |
OrderDate, |
56
Purchasing.PurchaseOrderDetail |
по |
полям |
PurchaseOrderDetailID, DueDate, используя UNION.
8.Показать список BusinessEntityID, которые содержатся и в таблице Person.Person, и в таблице Sales.SalesPerson.
9.Ограничить результирующий набор, полученный в п.8.
10.Пропустить 15 строк из результирующего набора, полученного в п.9.
18Вариант
1.Показать количество списанной продукции (ScrappedQty) и поля
Name, ProductNumber из таблиц Production.Product,
Production.WorkOrder.
2.Показать список причин продажи (поле Name), в котором указано,
есть для данной причины ID заказа клиента или нет, из таблиц
Sales.SalesReason,
Sales.SalesOrderHeaderSalesReason, используя LEFT OUTER JOIN.
3.Показать список товаров (поле Name), в котором указано, есть ли у товара дата продажи (TransactionDate) или нет, из таблиц
Production.TransactionHistory, Production.Product,
используя RIGHT OUTER JOIN.
4.Показать список покупателей (CustomerID), которые имеют несколько стоимостей заказа (SubTotal), из таблицы
Sales.SalesOrderHeader, используя SELF JOIN.
5.Показать список стоимостей заказа (SubTotal), к которым относятся несколько покупателей (CustomerID), из таблицы
Sales.SalesOrderHeader, используя SELF JOIN.
57
6.Показать список покупателей, которые имеют несколько дат отправки заказа (ShipDate), CustomerID которых начинается с 2,
из таблицы Sales.SalesOrderHeader, используя SELF JOIN.
7.Показать комбинированный список таблиц
Purchasing.PurchaseOrderHeader по полям
PurchaseOrderID, ShipDate,
Purchasing.PurchaseOrderDetail по полям
PurchaseOrderDetailID, DueDate, используя UNION.
8.Показать список BusinessEntityID, которые содержатся в таблице Person.Person, но не содержатся в таблице
Sales.SalesPerson.
9.Ограничить результирующий набор, полученный в п.8.
10.Пропустить 15 строк из результирующего набора, полученного в п.9.
19Вариант
1.Показать названия единиц измерения веса товаров и названия товаров
(поля Name) из таблиц Production.Product,
Production.UnitMeasure.
2.Показать список продуктов (поле Name), в котором указано, есть дата окончания (EndDate) заказа или нет, из таблиц
Production.Product, Production.WorkOrder, используя
LEFT OUTER JOIN.
3.Показать список покупателей (поле AccountNumber из
Sales.Customer), в котором указано, есть ли у покупателя код подтверждения кредитной карты (CreditCardApprovalCode)
или нет, из таблиц Sales.SalesOrderHeader, Sales.Customer,
используя RIGHT OUTER JOIN.
58
4.Показать список типов спецпредложений (Type), которые имеют несколько дат окончания (EndDate), из таблицы
Sales.SpecialOffer, используя SELF JOIN.
5.Показать список дат окончания (EndDate) спецпредложения, к
которым относятся несколько типов спецпредложений (Type), из таблицы Sales.SpecialOffer, используя SELF JOIN.
6.Показать список продавцов (SalesPersonID из
Sales.SalesOrderHeader), которые имеют нескольких покупателей, CustomerID которых заканчивается на 5, используя
SELF JOIN.
7.Показать комбинированный список таблиц
Purchasing.PurchaseOrderHeader по полям
PurchaseOrderID, SubTotal,
Purchasing.PurchaseOrderDetail по полям
PurchaseOrderDetailID, UnitPrice, используя UNION.
8.Показать список BusinessEntityID, которые содержатся в таблице Person.Person, но не содержатся в таблице
Sales.PersonCreditCard.
9.Ограничить результирующий набор, полученный в п.8.
10.Пропустить 15 строк из результирующего набора, полученного в п.9.
20Вариант
1.Показать количество продукции на складе (StockedQty) и поля
Name, ProductNumber из таблиц Production.Product,
Production.WorkOrder.
2.Показать список людей (поля FirstName, LastName), в котором указано, установлено у человека семейное положение или нет, из
59
таблиц Person.Person, HumanResources.Employee, используя
LEFT OUTER JOIN.
3.Показать список покупателей (поле AccountNumber из
Sales.Customer), в котором указано, есть ли у покупателя статус заказа (Status из Sales.SalesOrderHeader) или нет, из таблиц
Sales.SalesOrderHeader, Sales.Customer, используя RIGHT OUTER JOIN.
4.Показать список покупателей (CustomerID), к которым относятся несколько продавцов (SalesPersonID), из таблицы
Sales.SalesOrderHeader, используя SELF JOIN.
5.Показать список продавцов (SalesPersonID), к которым относятся несколько покупателей (CustomerID), из таблицы
Sales.SalesOrderHeader, используя SELF JOIN.
6.Показать список подкатегорий продуктов
(ProductSubcategoryID), которые имеют несколько нормативных цен (StandardCost) больше 500, из таблицы
Production.Product, используя SELF JOIN.
7.Показать комбинированный список таблиц
Purchasing.PurchaseOrderHeader по полям
PurchaseOrderID, TaxAmt,
Purchasing.PurchaseOrderDetail по полям
PurchaseOrderDetailID, UnitPrice, используя UNION.
8.Показать список BusinessEntityID, которые содержатся и в таблице Person.Person, и в таблице Sales.PersonCreditCard.
9.Ограничить результирующий набор, полученный в п.8.
10.Пропустить 15 строк из результирующего набора, полученного в п.9.
60
