Четверг
25.04.2024
06:41


Форма входа


Приветствую Вас Гость | RSS
Статьи по ORACLE, PL/SQL, Java и немного по SHELL (BASH),...
Главная Каталог статей Регистрация Вход
Главная » Статьи » ORACLE » ORACLE, PL/SQL

Возвращение отсутствующих данных изнескольких таблиц
Задача
Одновременно из нескольких таблиц требуется выбрать данные, отсутствующие в той или иной таблице. Чтобы возвратить строки таблицы DEPT, которых нет в таблице EMP (любой отдел, в котором нет служащих), необходимо провести внешнее объединение. Рассмотрим следующий запрос, в результате которого будут возвращены все значения столбцов DEPTNO и DNAME таблицы DEPT и имена всех служащих всех отделов (если в отделе есть служащие):

select d.deptno,d.dname,e.ename
from scott.dept d left outer join emp e
on (d.deptno=e.deptno);


или

select d.deptno,d.dname,e.ename
from scott.dept d, scott.emp e
where d.deptno=e.deptno(+);

DEPTNO DNAME ENAME
-------------- ----------------------- ------------------
10 ACCOUNTING CLARK
10 ACCOUNTING MILLER
20 RESEARCH JONES
20 RESEARCH FORD
20 RESEARCH ADAMS
20 RESEARCH SMITH
20 RESEARCH SCOTT
30 SALES WARD
30 SALES TURNER
30 SALES ALLEN
30 SALES JAMES
30 SALES BLAKE
30 SALES MARTIN
40 OPERATIONS

Последняя строка, отдел OPERATIONS (операции), возвращена, несмотря на то что в отделе нет ни одного служащего. Это является следствием левостороннего внешнего объединения таблицы DEPT с таблицей EMP.

Источник: Молинаро Э. "SQL. Сборник рецептов"
Категория: ORACLE, PL/SQL | Добавил: Akarak (11.11.2009)
Просмотров: 3139 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Меню сайта

Категории раздела
ORACLE, PL/SQL [36]
Скрипты DDL [3]
Скрипты по управлению объектами
Встроенные функции SQL [2]
Встроенные функции SQL

Интересные сайты
  • sql.ru
  • all-oracle.ru
  • oranet.ru
  • oracloid.ru
  • forum.vingrad.ru

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Поиск

    Copyright MyCorp © 2024
    Используются технологии uCoz