Учебное пособие Санкт-Петербург «бхв-петербург»


SELECT s.seat_no, s.fare_conditions



Pdf көрінісі
бет123/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   119   120   121   122   123   124   125   126   ...   256
sql osnovi yazika

SELECT s.seat_no, s.fare_conditions
FROM seats s
JOIN aircrafts a ON s.aircraft_code = a.aircraft_code
WHERE a.model ~ '^Cessna'
ORDER BY s.seat_no;
seat_no | fare_conditions
---------+-----------------
1A
| Economy
1B
| Economy
2A
| Economy
2B
| Economy
3A
| Economy
3B
| Economy
4A
| Economy
4B
| Economy
5A
| Economy
154


6.2. Соединения
5B
| Economy
6A
| Economy
6B
| Economy
(12 строк)
Если подвести итог, то можно упрощенно объяснить механизм построения соедине-
ния следующим образом.
Сначала формируются все попарные комбинации строк из обеих таблиц, т. е. декар-
тово произведение множеств строк этих таблиц. Эти комбинированные строки вклю-
чают в себя все атрибуты обеих таблиц.
Затем в дело вступает условие s.aircraft_code = a.aircraft_code. Это означает,
что в результирующем множестве строк останутся только те из них, в которых значе-
ния атрибута aircraft_code, взятые из таблицы aircrafts и из таблицы seats,
одинаковые. Строки, не удовлетворяющие этому критерию, отфильтровываются.
Это означает на практике, что каждой строке из таблицы «Места» мы сопоставили
только одну конкретную строку из таблицы «Самолеты», из которой мы теперь мо-
жем взять значение атрибута «Модель самолета», чтобы включить ее в итоговый вы-
вод данных.
На практике описанный механизм не реализуется буквально. Специальная подсисте-
ма PostgreSQL, называемая планировщиком, строит план выполнения запроса, кото-
рый является гораздо более эффективным, чем упрощенный план, представленный
здесь. Детально вопросы планирования запросов рассматриваются в главе 10.
Запрос, который мы рассмотрели, можно записать немного по-другому, без исполь-
зования предложения JOIN (обратите внимание, что мы не использовали ключевое
слово AS для назначения псевдонимов таблицам).


Достарыңызбен бөлісу:
1   ...   119   120   121   122   123   124   125   126   ...   256




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

    Басты бет