Изучаем sql



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

DESC department
;
++++++


Что такое соединение?
91
| Field | Type | Null | Key | Default |
++++++

dept_id
| smallint(5) unsigned | | PRI | NULL |
| name | varchar(20) | | | |
++++++
2 rows in set (0.03 sec)
Скажем, требуется выбрать имя и фамилию каждого сотрудника, а так
же название отдела, в котором он работает. Поэтому запрос должен бу
дет извлекать столбцы 
employee.fname

employee.lname
и 
department.name
.
Но как можно получить данные двух таблиц одним запросом? Ответ
кроется в столбце 
employee.dept_id
, в котором хранится ID отдела каж
дого сотрудника (более формально, столбец 
employee.dept_id
является
внешним ключом
, ссылающимся на таблицу 
department
). Запрос, кото
рый вскоре будет представлен, указывает серверу использовать стол
бец 
employee.dept_id
как 
мост
между таблицами 
employee
и 
department
,
обеспечивая таким образом возможность включения столбцов обеих
таблиц в результирующий набор запроса. Такой тип операции называ
ется соединением.
Декартово произведение
Начнем с самого простого: поместим таблицы 
employee
и 
department
в блок 
from
запроса и посмотрим, что произойдет. Вот запрос, выбираю
щий имена и фамилии сотрудников, а также название отдела. Здесь
в блоке 
from
указаны обе таблицы, разделенные ключевым словом 
join
:
mysql> 
SELECT e.fname, e.lname, d.name
> FROM employee e JOIN department d;
++++
| fname | lname | name |
++++
| Michael | Smith | Operations |
| Susan | Barker | Operations |
| Robert | Tyler | Operations |
| Susan | Hawthorne | Operations |
| John | Gooding | 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 |


92

Достарыңызбен бөлісу:
1   ...   77   78   79   80   81   82   83   84   ...   261




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

    Басты бет