Что такое соединение?
95
| fname | lname | name |
++++
| Susan | Hawthorne | Operations |
| Helen | Fleming | Operations |
| Chris | Tucker | Operations |
| Sarah | Parker | Operations |
| Jane | Grossman | Operations |
| Paula | Roberts | Operations |
| Thomas | Ziegler | Operations |
| 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)
Поскольку
using
– сокращенная запись,
которая может использовать
ся только в определенной ситуации, во
избежание путаницы я всегда
предпочитаю подблок
on
.
ANSIсинтаксис соединения
Нотация, используемая в данной книге для соединения таблиц, была
введена в версии SQL92 стандарта ANSI SQL. Во
всех основных СУБД
(Oracle Database,
Microsoft SQL Server, MySQL, IBM DB2 Universal Da
tabase, Sybase Adaptive Server) принят синтаксис соединения SQL92.
Поскольку многие серверы существовали
еще до выхода специфика
ции SQL92, все они включают и старый синтаксис соединения. Напри
мер, всем этим серверам был бы понятен такой вариант предыдущего
запроса:
mysql>
SELECT e.fname, e.lname, d.name
> FROM employee e, department d
> WHERE e.dept_id = d.dept_id;
++++
| fname | lname | name |
++++
| Susan | Hawthorne | Operations |
| Helen | Fleming | Operations |
| Chris | Tucker | Operations |
| Sarah | Parker | Operations |
| Jane | Grossman | Operations |
| Paula | Roberts | Operations |
| Thomas | Ziegler | Operations |