98
Глава 5. Запрос к нескольким таблицам
> WHERE c.cust_type_cd = 'B';
+++
| account_id | fed_id |
+++
| 20 | 041111111 |
| 21 | 041111111 |
| 22 | 042222222 |
| 23 | 043333333 |
| 24 | 044444444 |
+++
5 rows in set (0.06 sec)
Этот запрос, возвращающий ID счета и
идентификационный номер фе
дерального налога для всех бизнессчетов, на данный момент должен
быть абсолютно понятным. Однако если
добавить в запрос таблицу
emp
loyee
для получения имени операциониста, открывшего каждый из сче
тов, он примет следующий вид:
mysql>
SELECT a.account_id, c.fed_id, e.fname, e.lname
> FROM account a INNER JOIN customer c
> ON a.cust_id = c.cust_id
> INNER JOIN employee e
> ON a.open_emp_id = e.emp_id
> WHERE c.cust_type_cd = 'B';
+++++
| account_id | fed_id | fname | lname |
+++++
| 20 | 041111111 | Theresa | Markham |
| 21 | 041111111 | Theresa | Markham |
| 22 | 042222222 | Paula | Roberts |
| 23 | 043333333 | Theresa | Markham |
| 24 | 044444444 | John | Blake |
+++++
5 rows in set (0.03 sec)
Теперь имеется три таблицы, два типа
соединений и два подблока
on
,
перечисленные в блоке
from
. Таким образом, все немного усложняется.
На первый взгляд изза порядка перечисления
таблиц может пока
заться, что
таблица
employee
соединяется с таблицей
customer
, посколь
ку таблица
account
указана первой. Однако если изменить порядок рас
положения таблиц, результаты будут абсолютно аналогичными:
mysql>
Достарыңызбен бөлісу: