и атрибут соединяются символом «.». Псевдонимы используются и в предложениях
WHERE, GROUP BY, ORDER BY, HAVING, т. е. во всех частях команды SELECT.
Итак, как мы рассуждали? Если бы в качестве исходных сведений мы получили сра-
зу код самолета — «CN1», то запрос свелся бы к выборке из одной таблицы «Места»
(seats). Он был бы таким:
SELECT * FROM seats WHERE aircraft_code = 'CN1';
Но нам дано название модели, а не ее код, поэтому придется подключить к работе и
таблицу «Самолеты» (aircrafts), в которой хранятся наименования моделей. Для того
чтобы решить, удовлетворяет ли строка таблицы seats поставленному условию, нуж-
но узнать, какой модели самолета соответствует эта строка. Как это можно узнать?
В каждой строке таблицы seats есть атрибут aircraft_code, такой же атрибут есть и в
каждой строке таблицы aircrafts. Если с каждой строкой таблицы seats соединить та-
кую строку таблицы aircrafts, в которой значение атрибута aircraft_code такое же, как
и в строке таблицы seats, то сформированная комбинированная строка, составленная
из атрибутов обеих таблиц, будет содержать не только номер места, класс обслужи-
вания и код модели, но — что важно — и наименование модели. Поэтому с помощью
условия WHERE можно будет отобрать только те результирующие строки, в которых
значение атрибута model будет «Cessna 208 Caravan». А какие столбцы оставлять в
списке столбцов предложения SELECT, решать нам. Даже если мы соединяем две таб-
лицы (или более), то совершенно не обязательно в результирующий список столбцов
включать столбцы всех таблиц, перечисленных в предложении FROM. Мы могли бы
оставить только атрибуты таблицы seats:
Достарыңызбен бөлісу: