4. Определить пассажиров, реже других летающих в Москву.
SELECT Билет.Фамилия_пассажира,
Count(Рейс.Номер_рейса) AS Кол_рейсов
FROM Билет INNER JOIN Рейс
ON Билет.Номер_рейса = Рейс.Номер_рейса
WHERE Рейс.Конечный_пункт=”Москва”
GROUP BY Билет.Фамилия_пассажира
HAVING Count(Рейс.Номер_рейса)<=ALL(SELECT
Count(Рейс.Конечный_пункт)
FROM Билет INNER JOIN Рейс
ON Билет.Номер_рейса = Рейс.Номер_рейса
WHERE Рейс.Конечный_пункт=”Москва”
GROUP BY Билет.Фамилия_пассажира)
SELECT Билет.Фамилия_пассажира,
Count(Рейс.Номер_рейса) AS Кол_рейсов
FROM Билет INNER JOIN Рейс
ON Билет.Номер_рейса = Рейс.Номер_рейса
WHERE Рейс.Конечный_пункт=”Москва”
GROUP BY Билет.Фамилия_пассажира
HAVING Count(Рейс.Номер_рейса)<=MIN(SELECT
Count(Рейс.Конечный_пункт)
FROM Билет INNER JOIN Рейс
ON Билет.Номер_рейса = Рейс.Номер_рейса
WHERE Рейс.Конечный_пункт=”Москва”
GROUP BY Билет.Фамилия_пассажира)
SELECT Билет.Фамилия_пассажира,
Count(Рейс.Номер_рейса) AS Кол_рейсов
FROM Билет INNER JOIN Рейс
ON Билет.Номер_рейса = Рейс.Номер_рейса
WHERE Рейс.Конечный_пункт=”Москва”
HAVING Count(Рейс.Номер_рейса)<=ALL(SELECT
Count(Рейс.Конечный_пункт)
FROM Билет INNER JOIN Рейс
ON Билет.Номер_рейса = Рейс.Номер_рейса
WHERE Рейс.Конечный_пункт=”Москва”)
SELECT Билет.Фамилия_пассажира,
Count(Рейс.Номер_рейса) AS Кол_рейсов
FROM Билет INNER JOIN Рейс
ON Билет.Номер_рейса = Рейс.Номер_рейса
WHERE Рейс.Конечный_пункт=”Москва”
AND Count(Рейс.Номер_рейса)<=ALL(SELECT
Count(Рейс.Конечный_пункт)
FROM Билет INNER JOIN Рейс
ON Билет.Номер_рейса = Рейс.Номер_рейса
WHERE Рейс.Конечный_пункт=”Москва”)
157
Лекция 7 Построение нетривиальных запросов