Изучаем sql


Повторное использование таблицы



Pdf көрінісі
бет91/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   87   88   89   90   91   92   93   94   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

Повторное использование таблицы 
При соединении нескольких таблиц может обнаружиться, что требует
ся неоднократно соединять одну и ту же таблицу. В нашем примере БД
внешние ключи к таблице 
branch
присутствуют как в таблице 
account
(отделение, в котором был открыт счет), так и в таблице 
employee
(отде
ление, в котором работает сотрудник). Если в результирующий набор
должны войти 
оба
отделения, таблицу 
branch
можно включить в блок
from
дважды, в первый раз соединив ее с таблицей 
employee
, а второй
раз – с таблицей 
account
. Это сработает, если каждому экземпляру таб
лицы 
branch
присвоить свой псевдоним, чтобы сервер знал, на какой
экземпляр делается ссылка:
mysql> 
SELECT a.account_id, e.emp_id,
> b_a.name open_branch, b_e.name emp_branch
> FROM account a INNER JOIN branch b_a
> ON a.open_branch_id = b_a.branch_id
> INNER JOIN employee e
> ON a.open_emp_id = e.emp_id
> INNER JOIN branch b_e
> ON e.assigned_branch_id = b_e.branch_id
> WHERE a.product_cd = 'CHK';
+++++
| account_id | emp_id | open_branch | emp_branch |
+++++
| 8 | 1 | Headquarters | Headquarters |
| 12 | 1 | Headquarters | Headquarters |
| 17 | 1 | Headquarters | Headquarters |
| 1 | 10 | Woburn Branch | Woburn Branch |
| 4 | 10 | Woburn Branch | Woburn Branch |
| 6 | 13 | Quincy Branch | Quincy Branch |
| 11 | 16 | So. NH Branch | So. NH Branch |
| 15 | 16 | So. NH Branch | So. NH Branch |
| 20 | 16 | So. NH Branch | So. NH Branch |
| 23 | 16 | So. NH Branch | So. NH Branch |
+++++
10 rows in set (0.07 sec)
Этот запрос показывает, кто открыл каждый текущий счет, в каком от
делении это произошло и к какому отделению приписан в настоящее
время сотрудник, открывший счет. Таблица 
branch
включена дважды
под псевдонимами 
b_a
и 
b_e
. Благодаря присваиванию разных псевдо
нимов каждому экземпляру таблицы 
branch
, сервер сможет определить
экземпляр, на который делается ссылка, – соединенный с таблицей


102

Достарыңызбен бөлісу:
1   ...   87   88   89   90   91   92   93   94   ...   261




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

    Басты бет