|
Программирование >> Исключение дубликатов строк
Внимание! Поскольку некоторые рецепты могут включать как говядину, так и чеснок, то для исключений возможных повторяюшихся строк добавлено ключевое слово DISTINCT. Beef Or Gorlic Reclpes (5 строк) Asparagus Garlic Cirecn Beans Irish Stew Polio Picoso Roast Beef Более 9вух таблиц В этот раз добавим какую-нибудь краску к палитре и составим запросы, для которых требуется JOIN более чем по двум таблицам. Бозо донных зокозов но зокупку Tind all the customers who ever ordered a bicycle helmet . ( Найти всех клиентов, которые когда-либо заказывали шлем ,) Преобразование/ Select customer first name, customer last name from the Уточнение: customers table joined with the orders table on customer ID, theft joined with the order details table on order number, then joined with the products table on product number where product name contains LIKE %Helmet% (Выбрать имя клиента, фамилию клиента из Клиенты , соединенной с Заказы по идентификатору клиента, соединенной с Детали заказа по номеру заказа, соединенной с Товары по номеру товара, где наименование товара соответствует и Jaблoнy %Helmet%) SELECT DISTINCT Customers.CustFirstName, Customers.CustLastName FROM ((Customers INNER JOIN Orders ON Customers.CustomerlD = Orders .CustomerlD) INNER JOIN Order.Details ON Orders.OrderNumber = OrderDetails.OrderNumber) INNER JOIN Products ON Products.ProductNumber = Order Details.ProductNumber WHERE Products.ProductName LIKE %Helmet% Осторожно! Если СУБД чувствительна к регистру при выполнении поиска по символьным полям, следует быть внимательными при вводе критерия поиска и использовать правильный регистр для букв. Например, во многих системах баз данных helmet - это не одно и то же, что Helmet. Внимание! Поскольку клиент может заказывать шлем несколько раз, то для исключения повторяющихся строк использовано ключевое слово DISTINCT. Си51отег$ ШЬо Огс1егсс1 Не1те15 (24 строки) База данных агентства эстрадных мероприятий
Find the entertainers who played engagements for customers Bonnicksen or Rosaies ( Найти эстрадных артистов, отыгравших ангажементы для клиентов Бонниксен или Росалес .) Преобразование/ Select unique distinct entertainer stage name from the entertainers table joined with the engagements table on entertainer ID, then joined with the customers table on customer ID where the customer last name \s == Bonnicksen or the customer last name = Rosaies (Выбрать неповторяющиеся псевдонимы эстрадного артиста из Эстрадные артисты , соединенной с Ангажементы по идентификатору эстрадного артиста, соединенной с Клиенты по идентификатору клиента. Уточнение: где фамилия клиента = Bonnicksen или фамилия клиента = Rosaies) SELECT DISTINCT Entertainers.EntStageName FRON (Entertainers INNER JOIN Engagements ON Entertainers.EntertainerlD Engagements.EntertainerlD) INNER JOIN Customers ON Customers.CustomerlD = Engagements.CustomerlD WHERE Customers.CustLastName Bonnicksen OR Customers.CustLastName = Resales €ntertQincrs For Bonnlckscn Or Rosoles (9 строк) Carol Peacock Trio Country Feeling Julia Schnebly JV Si the Deep Six Katherine Ehrlich Modern Dance Saturday Revue Susan MdLaJn Topazz Бозо донных лиги игроков в боулинг List all the tournaments, the tournaments matches, and the game results . ( Привести список всех турниров, матчи турниров и результаты игр ,) Преобразование/ Select tourney ID, tourney location, match ID, lanes, Уточнение: odd lane team, even lane team, game number, game winner from the tournaments table joined with the tourney matches table on tourney ID, then joined with the teams table aliased as odd lane team on odd lane team ID equals = team ID, thert joined with the teams table aliased as even lane team on even lane team ID equals = team ID, theft joined with the match games table on match ID, theft joined with the teams table aliased as winner on winning team ID equals = team ID (Выбрать идентификатор турнира, место проведения турнира, идентификатор матча, дорожки, команду нечетных дорожек, команду четных дорожек, номер игры, победителя игры из Турниры , соединенной с Матчи турнира по идентификатору турнира, соединенной с Команды как команда нечетных дорожек по идентификатору команды нечетных дорожек = идентификатору команды, соединенной с Команды как команда четных дорожек по идентификатору команды четных дорожек = идентификатору команды, соединенной с Игры матча по идентификатору матча, соединенной с Команды как победитель по идентификатору выигравшей команды = идентификатору команды) SQL SELECT Tournaments.ТойrneylD AS Tourney, Tournaments.TourneyLocation AS Location, Tourney Matches.MatchID, Tourney Matches.Lanes, OddTeam.TeamNarae AS OddLaneTeam, EvenTeam.TeamName AS EvenLaneTeam, Match Games.GameNumber AS GameNo, Winner.TeamName AS Winner FROM Teams AS Winner INNER JOIN (Teams AS EvenTeam INNER JOIN (Teams AS OddTeam INNER JOIN ((Tournaments INNER JOIN TourneyMatches ON Tournaments.TourneylD = Tourney Matches.Tourney ID) INNER JOIN Match Games ON Tourney Matches.MatchID = MatchGames.MatchID)
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |