|
Программирование >> Исключение дубликатов строк
Показать все направления эстрадных концертов и клиентов, предпочитающих эти направления . Привести список всех эстрадных артистов и все ангажементы. в которых они зарегистрированы . Привести список всех игроков в боулинг и все игры, в которых они сбили больше 160 . Вывести на дисплей все турниры и все сыгранные матчи Показать все категории предметов и все курсы лекций для всех предметов . Привести список всех студентов и курсы лекций. на которые они в настоящее время записались . Вывести на дисплей всех преподавателей и курсы лекций, которые они планируют читать . Привести список всех типов рецептов, все рецепты и все компоненты, используемые в них . Показать все компоненты и все рецепты, в которых они используются Примеры операторов Теперь вам известна механика построения запросов с использованием OUTER JOIN и вы видели некоторые типы запросов, ответы на которые можно найти с OUTER JOIN. Давайте ознакомимся с довольно устойчивым множеством примеров, в которых используется OUTER JOIN. Они взяты из учебных баз данных и иллюстрируют использование OUTER JOIN для поиска либо пропущенных, либо частично совпадающих значений. Внимание! Поскольку многие их этих примеров используют сложные соединения, СУБД может выбрать другой способ решения. По этой причине несколько первых строк, которые показаны здесь, могут не совпадать точно с результатом, полученным вами, но общее количество строк должно быть то же самое. Для упрощения процесса этапы перевода и уточнения для всех последующих примеров объединены. База данных заказов на закупку What products have never been ordered? ( Какие товары никогда не заказывались? ) Преобразование/ Select product number product name from the Уточнение: products table left outer joined with the order details table on product ID where the order detailorder number is nu (Выбрать номер товара, наименование товара из Товары с левым внешним соединением с Детали заказа по идентификатору товара, где в деталях заказа номер заказа Null) SELECT Products.ProductNumber, Products.ProductName FROM Products LEFT JOIN Order.Details ON Products.ProductNumber = Order Details.ProductNumber WHERE Order.Details.OrderNumber IS NULL Proclucts Ncvcr Ordcrccl (2 строки)
Display all customers and any orders for bicycles . ( Вывести на дисплей всех клиентов и все заказы на велосипеды .) Преобразование 1: Select customer full name, order date, product name, quantity ordered, and quoted price from the customers table left outer joined with the orders table on customer ID, then joined with the order details table on order number, then joined with the products table on product number, then finally joined with the categories table on category ID where category description is Bikes (Выбрать полное имя клиента, дату заказа, наименование товара, заказанное количество и назначенную цену из таблицы Клиенты с левым внешним соединением с таблицей Заказы по идентификатору клиента, соединенной с таблицей Детали заказа по номеру заказа, соединенной с таблицей Товары по номеру товара, затем, наконец, соединенной с таблицей Категории по идентификатору категории, где описание категории - велосипед) Преобразование 2/ Select customer full name, order date, product name. Уточнение: quantity ordered, md quoted price from the customers table left outer joined with (Select customer ID, order date, product name, quantity ordered. ш6 quoted price from the orders table joined with the order details table on order number, then joined with the products table on product number, then finally joined with the categories table on category ID where category description = Bikes) on customer ID (Выбрать полное имя клиента, дату заказа, наименование товара, заказанное количество, назначенную цену из Клиенты с левым внешним соединением с (Выбрать идентификатор клиента, дату заказа, наименование товара, заказанное количество, назначенную цену из Заказы , соединенной с Детали заказа по номеру заказа, соединенной с Товары по номеру товара, соединенной с Категории по идентификатору категорий, где описание категории = велосипед) по идентификатору клиента) Внимание! Поскольку мы иш,ем конкретные заказы (велосипеды), процесс преобразования разделен на два шага, чтобы показать, что заказы необходимо отфильтровать, прежде чем применять OUTER JOIN. SELECT Customers.CustFirstName Customers.CustLastName AS CustFullName, RD.OrderDate, RD.ProductName, RD.QuantityOrdered, RD.QuotedPrice FROM Customers LEFT OUTER JOIN (SELECT Orders.CustomerlD, Orders.OrderDate, Products.ProductName, Order Details.QuantityOrdered, Order.Details.Quoted Price FROM ((Orders INNER JOIN Order Details ON Orders.OrderNumber = OrderDetails.OrderNumber) INNER JOIN Products ON OrderDetails.ProductNumber = Products.ProductNumber) INNER JOIN Categories ON Categories.CategorylD = Products. WHERE Categories.CategoryDescription AS RD ON Customers.CustomerlD = RD.CustomerlD CategorylD = Bikes)
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |