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

1 ... 77 78 79 [ 80 ] 81 82 83 ... 152


OddTeam.TeamID =

Той rneyMatches.Odd LaneTeamID)

EvenTeam.TeamID =

TourneyMatches. Winner.TeamID =

EvenLaneTeamID) MatchGames .WinningTeamID

Внимание! Это действительно забавный запрос, потому что для его выполнения требуется три копии одной таблицы (Teams). Необходимо, по крайней мере, присвоить корреляционные имена двум таблицам, чтобы все было законно, но мы пошли еще дальше и присвоили им всем имена-алиасы, чтобы отразить их специальные роли в запросе. Также при построении SQL структура, полученная на этапе Преобразование/Уточнение, соблюдалась не абсолютно точно. Это было сделано ддя того, чтобы продемонстрировать, что можно определить вложенные условия JOIN любым понравившимся способом до тех пор, пока не нарушаются отношения.

ToumQment MQtch GQme Resijlts (168 строк)

Totirney

Location

№tcht0

JLaites

Odcftane Тевт

Rooster Lanes

Ob02

Marlins

Sharks

Marlins

Rooster Liines

01 02

Marlins

Sharks

<S harks

Rooster

014)2

Miirli ns

Sharks

Marlins

Rooster bines

03-04

Terrapins

BarraciKlas

i 1

1 Terrapins

1 1

Ro<?ster bmes

03-04

Herrapins

BarmcuiJa*>

;>

Barnicudas

Rooster Uines

03-04

terrapins

Barniciidas 1

Terrapins

Rooster bines

05-06

Dolphins

Orcas 1 1

Dolphins

Rooster lanes

054)6

Dolphins

Orcas 1

Orcas

Rooster lanes

05-06

Dolphins

Orcas

........ . ..............................

Dolphins

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



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

Show те the main course recipes and list all the ingredients . ( Показать рецепты основного блюда и список всех компонентов .)

Преобразование/ Select recipe title, ingredient name, measurement Уточнение: description, ane amount from the recipe classes table

joined with the recipes table on recipe class ID, theft joined with the recipe ingredients table on recipe ID, theft joined with the ingredients table on ingredient ID, and finally joined with the measurements table on measure amount ID, where recipe class description Ь = main course (Выбрать заголовок рецепта, название компонента, описание единиц измерения, количество из Виды рецептов , соединенной с Рецепты по идентификатору вида рецепта, соединенной с Компоненты рецепта по идентификатору рецепта, соединенной с Компоненты по идентификатору компонента, соединенной с Единицы измерения по идентификатору количества в единицах измерений, где описание вида рецепта = main course)

SQL SELECT Recipes.RecipeTitle, Ingredients.IngredientName,

Measu rements.Measu rementDesc ription,

Recipe.Ingredients.Amount FROM (((Recipe Classes INNER JOIN Recipes ON Recipes.RecipeClassID =

Recipe Classes.RecipeClassID) INNER ]OIN Recipe Ingredients ON Recipes.RecipelD =

Recipe Ingredients.RecipelD) INNER JOIN Ingredients ON Ingredients.IngredientID =

RecipeIngredients.IngredientID) INNER JOIN Measurements ON Measurements.MeasureAmountID =

Recipe Ingredients.MeasureAmountID WHERE Recipe.Classes.RecipeClassDescription =

Main Course

Осторожно! MeasureAmountID можно найти как в таблице Ingredients (Компоненты), так и в Recipe Ingrediems (Компоненты рецепта). Если определить последнее соединение по MeasureAmountID, используя таблииу Ingredients вместо таблицы Recipe Ingredients, то для компонента вместо единицы измерения количества, указанной для компонента в рецепте, будет получена единица измерения по умолчанию.



Moin.Course.lngredients (53 строки)

RecipeTitle

IfigredieritNaifie

.- . ...... 1 . ....... ........

IHeasufemeittDescrfption

Aitioynt

Irish Stew

Beef

Pound

Irish Stew

Onion

Whole

Irish Stew

Potato

Whole

Iri.sh Stew

Carrot

Whole

Irish Stew

Water

Quarts

Irish Stew

Guinness Beer

Ounce

Fettiiccini Alfredo

Fettuccini Pasta

Ounce

Fettuccini Alfredo

Vegetable Oi!

Tablespoon

Fettuccini Alfredo

Salt

Teaspoon

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

Поиск совпадающих значений

Наконец добавим третье измерение в картину. В этом последнем наборе примеров показаны запросы, которые используют соединение по общим значениям из двух или более наборов результатов или таблиц. Если база данных поддерживает ключевое слово INTERSECT, то многие из таких задач можно решить с помощью пересечения наборов результатов.

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

Find all the customers who ordered a bicycle and who also ordered a helmet .

( Найти всех клиентов, заказавших велосипед, а также заказавших шлем .)

Этот запрос кажется достаточно простым, возможно, слишком простым. Поэтому зададим его другим образом, чтобы было более понятно, что требуется сделать базе данных.

Find all the customers who ordered a bicycle, then find all the customers

who ordered a helmet, and finally list the common customers

so we know who ordered both a bicycle and a helmet .

( Найти всех клиентов, заказавших велосипед, затем найти всех

клиентов, заказавших шлем, и, наконец, привести список общих

клиентов, чтобы знать, кто заказал как велосипед, так и шлем .)

Преобразование 1: Select customer first name and customer last name from

those common to the set of customers who ordered bicycles and the set of customers who ordered helmets



1 ... 77 78 79 [ 80 ] 81 82 83 ... 152

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