Лабораторная робота 2
12. Сформируйте запрос на основе операции "левое внешнее соединение", который возвращает номер и фамилию работника, номер и фамилию его менеджера, включая работников, не имеющих менеджеров:
a) используя оператор внешнего соединения — знак плюс (+);
SELECT e1.ename, e1.empno, e2.ename, e2.empno
FROM Emp e1, Emp e2
WHERE e1.mgr = e2.empno(+);
b)используя JOIN.
SELECT e1.ename, e1.empno, e2.ename, e2.empno
FROM Emp e1 LEFT JOIN Emp e2 ON e1.mgr = e2.empno;
13. Сформируйте запрос на основе операции "правое внешнее соединение", который возвращает номер и название отдела, в котором нет сотрудников:
a)используя оператор внешнего соединения — знак плюс (+);
SELECT dept.deptno, dname
FROM Emp,Dept
WHERE (emp.deptno(+) = dept.deptno) AND emp.empno IS NULL;
b)используя JOIN.
SELECT dept.deptno, dname
FROM Emp RIGHT JOIN Dept ON emp.deptno = dept.deptno
WHERE emp.empno IS NULL;
14. Используя оператор внешнего соединения — знак плюс (+) напишите команду эквивалентную
SELECT a.empno, a.ename, b.empno, b.ename
FROM emp a FULL JOIN emp b
ON a.mgr=b.empno
SELECT a.empno, a.ename, b.empno, b.ename
FROM emp a, emp b
WHERE a.mgr = b.empno(+)
UNION
SELECT a.empno, a.ename, b.empno, b.ename
FROM emp a, emp b
WHERE a.mgr(+) = b.empno;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.