ВУЗ:
Составители:
Рубрика:
- 24 -
До сих пор все примеры относились к работе с одной таблицей (ЕМР
или DEPT). Запрос типа JOIN (соединение) позволяет выбирать данные из
двух или более таблиц и объединять выбранные данные в одной общей таб-
лице.
Предположим, что необходимо узнать, где работает работник по фами-
лии ALLEN. Просматривая две таблицы в БД, можно
видеть, что таблица
ЕМР не содержит колонку LOC (местоположение), а эта колонка находится в
таблице DEPT. Однако обе таблицы имеют колонку DEPTNO - номер от-
дела. Именно эти номера, содержащиеся в обеих таблицах, позволят со-
отнести строки из таблицы ЕМР со строками таблицы DEPT.
Запрашивая таблицу ЕМР, можно найти номер отдела, где работает
ALLEN:
SELECT ENAME,DEPTNO
FROM ЕМР
WHERE ENAME = 'ALLEN';
ENAME DEPTNO
ALLEN 30
И, далее, запрашивая таблицу DEPT, можно найти расположение отдела
30:
SELECT LOC
FROM DEPT
WHERE DEPTNO = 30;
LOC
CHICAGO
В результате использования этих двух запросов выяснилось, что ALLEN
работает в Чикаго.
Можно получить тот же самый результат, используя только один запрос
типа JOIN. В этом запросе перечисляются названия таблиц, которые запра-
шиваются в клаузе FROM и имена колонок, сравниваемых в обеих таблицах
(то есть общие колонки) в клаузе WHERE:
SELECT ENAME,LOC
FROM ЕМР,DEPT --- запрос к двум таблицам
WHERE ENAME = 'ALLEN'
AND EMP.DEPTNO = DEPT.DEPTNO; --- условие соединения
ENAME LOC
- 24 - До сих пор все примеры относились к работе с одной таблицей (ЕМР или DEPT). Запрос типа JOIN (соединение) позволяет выбирать данные из двух или более таблиц и объединять выбранные данные в одной общей таб- лице. Предположим, что необходимо узнать, где работает работник по фами- лии ALLEN. Просматривая две таблицы в БД, можно видеть, что таблица ЕМР не содержит колонку LOC (местоположение), а эта колонка находится в таблице DEPT. Однако обе таблицы имеют колонку DEPTNO - номер от- дела. Именно эти номера, содержащиеся в обеих таблицах, позволят со- отнести строки из таблицы ЕМР со строками таблицы DEPT. Запрашивая таблицу ЕМР, можно найти номер отдела, где работает ALLEN: SELECT ENAME,DEPTNO FROM ЕМР WHERE ENAME = 'ALLEN'; ENAME DEPTNO ALLEN 30 И, далее, запрашивая таблицу DEPT, можно найти расположение отдела 30: SELECT LOC FROM DEPT WHERE DEPTNO = 30; LOC CHICAGO В результате использования этих двух запросов выяснилось, что ALLEN работает в Чикаго. Можно получить тот же самый результат, используя только один запрос типа JOIN. В этом запросе перечисляются названия таблиц, которые запра- шиваются в клаузе FROM и имена колонок, сравниваемых в обеих таблицах (то есть общие колонки) в клаузе WHERE: SELECT ENAME,LOC FROM ЕМР,DEPT --- запрос к двум таблицам WHERE ENAME = 'ALLEN' AND EMP.DEPTNO = DEPT.DEPTNO; --- условие соединения ENAME LOC
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »