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



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

чений атрибутов
.
В этой команде в предложении FROM указаны две таблицы — aircrafts и seats,
причем каждая из них получила еще и псевдоним с помощью ключевого слова AS
(заметим, что оно не является обязательным). Конечно, псевдонимы могут состоять
не только из одной буквы, как в нашем примере. Псевдонимы удобны в тех случаях,
когда в соединяемых таблицах есть одноименные атрибуты. В таких случаях в спис-
ке атрибутов, следующих за ключевым словом SELECT, необходимо указывать либо
имя таблицы, из которой выбирается значение этого атрибута, либо ее псевдоним, но
псевдоним может быть коротким, что удобнее при написании команды. Псевдоним
и атрибут соединяются символом «.». Псевдонимы используются и в предложениях
WHERE, GROUP BY, ORDER BY, HAVING, т. е. во всех частях команды SELECT.
153


Глава 6. Запросы
Итак, как мы рассуждали? Если бы в качестве исходных сведений мы получили сразу
код самолета — CN1, то запрос свелся бы к выборке из одной таблицы «Места». Он
был бы таким:
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:


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




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

    Басты бет