Запрос к нескольким таблицам
Поскольку реляционные БД предполагают расположение независи
мых сущностей в разных таблицах, необходим
механизм сведения не
скольких таблиц воедино в одном запросе. Этот механизм известен как
соединение
(
join
), и данная глава посвящена самому простому и наибо
лее распространенному соединению –
внутреннему соединению
(
inner
join
). Все разнообразные типы соединений представлены в главе 10.
Что такое соединение?
Запросы к одной таблице, конечно, не редкость, но
большинство за
просов обращены к двум, трем или даже более таблицам. Для иллюст
рации давайте
рассмотрим описания таблиц
employee
и
department
и затем определим запрос, извлекающий данные из обеих:
mysql>
DESC employee
;
++++++
| Field | Type | Null | Key | Default |
++++++
| emp_id | smallint(5) unsigned | | PRI | NULL |
| fname | varchar(20) | | | |
| lname | varchar(20) | | | |
| start_date | date | | | 00000000 |
| end_date | date | YES | | NULL |
| superior_emp_id | smallint(5) unsigned | YES | MUL | NULL |
|
dept_id
| smallint(5) unsigned | YES | MUL | NULL |
| title | varchar(20) | YES | | NULL |
| assigned_branch_id | smallint(5) unsigned | YES | MUL | NULL |
++++++
9 rows in set (0.11 sec)
mysql>
Достарыңызбен бөлісу: