Изучаем sql



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


Глава 5. Запрос к нескольким таблицам
| Samantha | Jameson | Operations |
| John | Blake | Operations |
| Cindy | Mason | Operations |
| Frank | Portman | Operations |
| Theresa | Markham | Operations |
| Beth | Fowler | Operations |
| Rick | Tulman | Operations |
| John | Gooding | Loans |
| Michael | Smith | Administration |
| Susan | Barker | Administration |
| Robert | Tyler | Administration |
++++
18 rows in set (0.01 sec)
Этот старый метод описания соединений не включает подблок 
on
. Таб
лицы указаны в блоке 
from
через запятую, а условия соединения вклю
чены в блок 
where
. Хотя можно игнорировать синтаксис SQL92 в поль
зу старого синтаксиса соединений, у синтаксиса ANSI есть следующие
преимущества:

Условия соединения и фильтрации разнесены в два разных блока
(подблок 
on
и блок 
where
соответственно), что упрощает понимание
запроса.

Условия соединения для каждой пары таблиц содержатся в собст
венном блоке 
on
, что уменьшает вероятность ошибочного исключе
ния части соединения.

Запросы, использующие синтаксис соединения SQL92, портируют
ся на разные серверы БД, тогда как старый синтаксис немного от
личается для каждого сервера.
Преимущества синтаксиса соединения SQL92 заметнее в сложных за
просах, включающих как условия соединения, так и условия фильт
рации. Рассмотрим следующий запрос, по которому возвращаются все
счета, открытые опытными операционистами (нанятыми до 2003 го
да), в настоящее время приписанными к отделению Woburn:
mysql> 
SELECT a.account_id, a.cust_id, a.open_date, a.product_cd
>
FROM account a, branch b, employee e
> WHERE a.open_emp_id = e.emp_id
> AND e.start_date <= '20030101'


Достарыңызбен бөлісу:
1   ...   82   83   84   85   86   87   88   89   ...   261




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

    Басты бет