Программирование >>  Исключение дубликатов строк 

1 ... 80 81 82 [ 83 ] 84 85 86 ... 152


(SELECT DISTINCT Bowlers.BowlerlD, (Bowlers.BowlerLastName j Bowlers.BowlerFirstName) AS BowlerFullName

FROM ((Bowlers

INNER JOIN Bowler Scores

ON Bowlers,BowlerlD = Bowier Scores.BowlerlD) INNER JOIN TourneyMatches

ON Tourney Matches.MatchID = Bowler.Scores.MatchID) INNER JOIN Tournaments ON Tournaments.TourneylD =

Tou rneyMatches.Tou rneylD WHERE Tournaments.TourneyLocation = Bolero Lanes AND Bowier Scores.RawScore >= 170) AS BowierBolero

ON BowierTbird.BowlerlD = BowierBolero.BowlerlD

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

Ооос1 Вош1вг5 TBircl nncl Bolero (10 строк)

База данных рецептов

Display all the ingredients for recipes that contain carrots .

( Вывести на экран компоненты рецептов, codepowaWfUx морковь .)

Преобразование/ Select recipe ID, recipe title.

Уточнение:






iVfcblin, Susan




as. lol

Picrc) Greg

ITiompson, Mary

lliompson, Wu\

Рапегшп. Rache

Fundt, Steve

ingredient name from ttte recipes table joined with the recipe ingredients table on recipe ID, joined with the ingredients table on ingredient ID, then finally joined with (Select recipe ID from the ingredients table joined with the recipe ingredients table on ingredient ID where ingredient name \s = carrot) on recipe ID

(Выбрать идентификатор рецепта, заголовок рецепта, название компонента из Рецепты , соединенной с Компоненты рецепта по идентификатору рецепта,



соединенной с Компоненты по идентификатору компонента, соединенной с (Выбрать идентификатор рецепта из Компоненты , соединенной с Компоненты рецепта по идентификатору компоненты где название компонента = морковь) по идентификатору рецепта)

SELECT Recipes.RecipelD, Recipes.RecipeTitle,

Ingredients.IngredientName FROM ((Recipes

INNER JOIN Recipe.Ingredients

ON Recipes.RecipelD = Recipe Ingredients.RecipelD)

INNER JOIN Ingredients

ON Ingredients.IngredientID =

Recipe Ing redients.Ing redientID) INNER JOIN

(SELECT Recipe Ingredients.RecipelD

FROM Ingredients

INNER JOIN Recipe Ingredients

ON Ingredients.IngredientID =

RecipeIngredients.IngredientID WHERE Ingredients.IngredientName = Carrot) AS Carrots

ON Recipes.RecipelD = Carrots.RecipelD

RecipesContoiningCorrots (16 строк)

Irish Stew

Beef

Idsh Stew

Onion

Irish Stew

Potato

Irish Stew

Carrot

Irish Stew

Water

Irish Stew

Guinness Beer

Salmon Filets in Prchmmt Paper j Salmon

Salmon Pikts iii Pjirchment Paper

Carrot

Salmon Filets in Birchment Paper

Leek

Salmon Filets in Parchment Paper

Red Bell Pepper

Salmon Filets in Parchment Paper

Butter

остальные строки



Внимание! Используя подзапрос, можно упростить решение этого запроса (см. главу 11).

Итоги

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

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

Вы узнали, как заменить ссылки на таблицу в операторе SELECT внутри условия FROM. Затем было показано, как расширить возможности, объединив более двух таблиц или наборов результатов. Обсу>вдение синтаксиса INNER JOIN было завершено повторным подчеркиванием важности хорошей структуры базы данных и понимания связей между своими таблицами.

На конкретных примерах мы обсудили, почему полезно INNER JOIN. Эти примеры включали примеры для двух таблиц, для нескольких таблиц и для соединений по совпадаюш,им значениям. В следуюш,ей главе будет исследован другой вариант JOIN - OUTER JOIN.

Зодочи для сомостоятельного решения

Ниже приводятся формулировки запросов и имена решений этих запросов в учебных базах данных. Попрактикуйтесь немного и разработайте SQL ддя каждого запроса, а затем сверьте свой ответ с запросом, который сохранен нами в этих БД. Не беспокойтесь, если ваш синтаксис не совсем точно совпадает с синтаксисом сохраненных запросов,- важно, чтобы набор результатов был тем же.

Бозо донных зокозов но зокупку

1. List customers and the dates they placed an order, sorted in order date sequence .

( Привести список клиентов и даты размеш.ения ими заказов,

упорядоченных по дате заказа .)

{Совет: Здесь требуется JOIN двух таблиц.)

Решение можно найти в Customers And OrderDates (944 строки).



1 ... 80 81 82 [ 83 ] 84 85 86 ... 152

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика