Учебно-практическое пособие москва 2017 ббк


подзапросов в предложение



Pdf көрінісі
бет136/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   132   133   134   135   136   137   138   139   ...   243
Байланысты:
Язык SQL. Базовый курс

подзапросов в предложение
SELECT
.
SELECT a.model,
( SELECT count( * )
FROM seats s
WHERE s.aircraft_code = a.aircraft_code
AND s.fare_conditions = 'Business'
) AS business,
( SELECT count( * )
FROM seats s
WHERE s.aircraft_code = a.aircraft_code
AND s.fare_conditions = 'Comfort'
) AS comfort,
( SELECT count( * )
FROM seats s
WHERE s.aircraft_code = a.aircraft_code
AND s.fare_conditions = 'Economy'
) AS economy
FROM aircrafts a
ORDER BY 1;
Обратите внимание, что в этом запросе мы использовали коррелированные подза-
просы. Все они ссылаются на столбец таблицы «Самолеты» (aircrafts), которая обраба-
тывается во внешнем запросе. Для каждой обрабатываемой строки таблицы aircrafts
подсчитывается число строк в таблице seats, в которых атрибут aircraft_code имеет
такое же значение, что и в строке таблицы aircrafts. Подзапросы отличаются друг от
друга только условием fare_conditions. Поскольку все эти подзапросы не зависят друг
от друга, то, хотя все они обращаются к таблице «Места» (seats), не требуется исполь-
зовать для нее различные псевдонимы в этих подзапросах.
model
| business | comfort | economy
---------------------+----------+---------+---------
Airbus A319-100
|
20 |
0 |
96
Airbus A320-200
|
20 |
0 |
120
Airbus A321-200
|
28 |
0 |
142
Boeing 737-300
|
12 |
0 |
118
Boeing 767-300
|
30 |
0 |
192
Boeing 777-300
|
30 |
48 |
324
Bombardier CRJ-200 |
0 |
0 |
50
Cessna 208 Caravan |
0 |
0 |
12
Sukhoi SuperJet-100 |
12 |
0 |
85
(9 строк)
А в этом варианте решения задачи используется


Достарыңызбен бөлісу:
1   ...   132   133   134   135   136   137   138   139   ...   243




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет