|
Программирование >> Исключение дубликатов строк
с Ангажементы по идентификатору клиента, где фамилия клиента = Росалес и идентификатор эстрадного артиста в Эстрадные артисты = идентификатору эстрадного артиста в Ангажементы ), и существует (Выбрать * из Клиенты , соединенной с Ангажементы по идентификатору клиента, где фамилия клиента = Ъонниксен и идентификатор эстрадного артиста в Эстрадные артисты = идентификатору эстрадного артиста в Ангажементы )) SELECT Entertainers.EntertainerlD, Entertainers.EntStageName FROM Entertainers WHERE EXISTS (SELECT * FROM Customers INNER JOIN Engagements ON Customers.CustomerlD = Engagements.CustomerlD WHERE Customers.CustLastName = Resales AND Engagements.EntertainerlD = Entertatners.EntertainerlD) AND EXISTS (SELECT * FROM Customers INNER JOIN Engagements ON Customers.CustomerlD = Engagements.CustomerlD WHERE Customers.CustLastName= Bonnicksen AND Engagements.EntertainerlD = Entertainers.EntertainerlD) €ntertQiners eonnicksen nND RosQles €XISTS (4 строки)
Уточнение: Бозо донных росписония зонятий Display students who have never withdrawn from a class . ( Вывести на экран дисплея студентов, которые никогда не отказывались от курса лекций .) Преобразование/ Select student ID, student first name, me student last name from the students table where the student ID ts not in the (selection of student ID from the student schedules tdWe joined with the student class status tabte on class status where class status description ts - withdrew (Выбрать идентификатор студента, имя студента, фамилию студента из Студенты , где идентификатора студента нет в (Выбрать идентификатор студента из Расписание студента , соединенной с Состояние курса лекции студента по состоянию курса лекции, где описание состояния курса лекций = отказался)) SELECT Students.StudentID, Students.StudFi rstName, Students.Stud LastName FROM Students WHERE Students.StudentID NOT IN (SELECT Student.Schedules.StudentID FROM Student.Schedules INNER JOIN StudentClassStatus ON Student.Schedules.ClassStatus = Student Class Status.ClassStatus WHERE Student.Class.Status.ClassStatusDescription = Withdrew) Students Never UJithdrQUjn (15 строк)
Внимание! Это достаточно простой запрос, который в подзапросе находит всех студентов, когда-либо отказывавшихся от курса лекций, а затем запрашивает всех студентов, не содержаш,ихся (NOT IN) в этом списке. Можете ли вы представить, как это сделать с OUTER JOIN? База данных лиги игры в боулинг Display team captains with a current average higher than all other members on their team . ( Вывести на экран дисплея капитанов команд с текущим средним количеством очков более высоким, чем у любого из остальных участников их команд ,) Преобразование/ Select team name, bowler ID, bowler first name, bowler Уточнение: last name, т6 current average from the bowlers table joined with the teams table on bowler ID matches = captain ID where the current average is greater than > all of the (selection of current average from bowlers where the bowler ID is not equal <> the current bowler ID and the team ID is equal = to the current team ID (Выбрать название команды, идентификатор игрока в боулинг, имя, фамилию игрока в боулинг, текушее среднее из Игроки в боулинг , соединенной с Команды по идентификатору игрока в боулинг = идентификатору капитана, где текушее среднее > всех (Выбрать текушее среднее из Игроки в боулинг , где идентификатор игрока в боулинг о идентификатор игрока в боулинг и идентификатор команды = идентификатору команды)) SELECT Teams.TeamName, Bowlers.BowlerlD, Bowlers.BowlerFirstName, Bowlers.BowlerLastName, Bowie rs.Cu r rentAve rage FROM Bowlers INNER JOIN Teams ON Bowlers.BowlerlD = Teams.CaptainID WHERE Bowlers.CurrentAverage > ALL (SELECT B2.CurrentAverage FROM Bowlers AS B2 WHERE B2.BowlerlD О Bowlers.BowlerlD AND B2.TeamID = Bowlers.TeamID) TeQm CQptQins High flverQge (2 строки)
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |