|
Программирование >> Исключение дубликатов строк
SELECT Tou rnaments.Tou rneyLocation, Tou rnaments.Tou rneyDate, Tourney Matches.MatchID, Teams.TeamName, Bowlers.BowlerLastName Bowlers.BowlerFirstName AS Captain, Even Lane AS Lane FROM ((Tournaments INNER JOIN Tourney Matches ON Tournaments.TourneylD = Tou rney Matches.Tou rneylD) INNER JOIN Teams ON Teams.TeamID = Tourney Matches.EvenLaneTeamID) INNER JOIN Bowlers ON Bowlers.BowlerlD = Teams.CaptainID ORDER BY 2, 3 Эти два оператора SELECT почти идентичны! Единственное различие между ними в том, что первый оператор SELECT связывает Tourney Matches с Teams по OddLaneTeamID, а второй оператор использует EvenLaneTeamID. База данных рецептов Create an index list of all the recipe classes, recipe titles, and ingredients . ( Создать индексный указатель всех видов рецептов, заголовков рецептов и компонентов . Преобразование/ Select recipe class description from the recipe classes table Уточнение: combined with UNION select recipe title from ttte recipes table combined with UNION select ingredient name from the ingredients table (Выбрать описание вида рецепта из Виды рецептов UNION (Выбрать заголовок рецепта из Рецепты ) UNION (Выбрать название компонента из Компоненты )) SQL SELECT Recipe Classes.RecipeClassDescription AS IndexName, Rfecipe Class AS Type FROM Recipe Classes UNION SELECT Recipes.RecipeTitle, Recipe AS Type FROM Recipes UNION SELECT Ingredients.IngredientName, Ingredient AS Type FROM Ingredients Closses.Recipes.lngredients (101 строке)
Итоги в данной главе мы рассмотрели UNION и отличие между связыванием двух таблиц в JOIN и объединением двух таблиц в UNION. Можно построить простой оператор UNION с использованием двух операторов каждый каждый по нескольким таблицам. Можно использовать UNION для объединения более двух наборов результатов. В завершение обсуждения синтаксиса UNION было показано, как отсортировать результат. UNION полезен для решения самых разнообразных запросов. Мы показали примеры использования UNION для каждой из учебных баз данных, включая логику, лежащую в основе построения этих запросов. Зодочи длй сомостоптвльного решений Ниже приведены формулировки запросов и имена решений этих запросов в учебных базах данных. Попрактикуйтесь немного и разработайте SQL для каждого запроса, а затем сверьте свой ответ по запросу, который сохранен нами в этих базах данных. Не беспокойтесь, если ваш синтаксис не совсем точно совпадает с синтаксисом сохраненных запросов,- важно, чтобы набор результатов был тот же. База данных заказов на закупку 1. List the customers who ordered a helmet together with the venders who provide helmets . ( Привести список клиентов, заказавших шлем, вместе с постави;иками этих шлемов .) {Совет: Для этого нужно создать UNION двух сложных операторов JOIN.) Решение можно найти в Customer Helmets Vendor Helmets (96 строк). База данных агентства эстрадных ллероприптий 1. Display а combined list of customers and entertainers . ( Отобразить на экране объединенный список клиентов и эстрадных артистов .) {Совет: Будьте внимательны при создании выражения для одного из имен, обеспечивая одинаковое количество столбцов в обоих операторах SELECT.) Решение можно найти в Customers UNION Entertainers (28 строк). 2. Produce а list of customers who like contemporary music together with a list of entertainers who play contemporary music . ( Составить список клиентов, которым нравится современная музыка, вместе со списком эстрадных артистов, исполняюи;их современную музыку .) {Совет: Для решения этой задачи потребуется UNION двух сложных операторов JOIN.) Решение можно найти в Customers Entertainers Contemporary (5 строк). База данных расписания занятий 1. Create а mailing list for students and staff, sorted by zip code . (Создать список адресов студентов и персонала, отсортированный по почтовому индексу .) {Совет: Для сортировки попытайтесь воспользоваться относительным номером столбца.) Решение можно найти в Student Staff Mailing List (45 строк). База данных лиги игроков в боулинг 1. Find the bowlers who had a raw score of 165 or better at Thunderbird Lanes combined with bowlers who had a raw score of 150 or better ut Bolero Lanes . ( Найти игроков в боулинг с количеством очков 165 и выше на Зандербирд Лэйнс вместе с игроками в боулинг с количеством очков 150 и выше на Болеро Лэйнс .) {Совет: Это еи;е одна из тех задач, которые можно решить с использованием одного оператора SELECT и сложного условия WHERE.)
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |