Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --2. Znajdz pracowników, którzy zarabiaja powyzej sredniej w ich departamentach.
- SELECT * FROM emp e
- WHERE e.sal > (SELECT AVG(e2.sal)
- FROM emp e2
- WHERE e2.deptno=e.deptno);
- --4. Znajdz za pomoca predykatu EXISTS pracowników, którzy posiadaja podwladnych
- SELECT *
- FROM emp e
- WHERE EXISTS (SELECT 1
- FROM emp e2
- WHERE e2.mgr = e.empno);
- --5. Znajdz pracowników, których departament nie wystepuje w tabeli DEPT.
- SELECT *
- FROM emp e
- WHERE NOT EXISTS (SELECT 1
- FROM dept d
- WHERE d.deptno = e.deptno);
- --bez korelacji
- SELECT *
- FROM emp e
- WHERE e.deptno NOT IN (SELECT deptno
- FROM dept);
- --9. Wskaz dla kazdego departamentu ostatnio zatrudnionych pracowników. Uporzadkuj wedlug dat zatrudnienia.
- SELECT *
- FROM emp e
- WHERE e.hiredate = (SELECT MAX(hiredate)
- FROM emp
- WHERE deptno=e.deptno);
- --8
- SELECT e.ename, e.sal, s.grade
- FROM emp e JOIN salgrade s ON e.sal BETWEEN s.losal AND s.hisal
- WHERE e.sal = (SELECT MIN(e2.sal)
- FROM emp e2 JOIN salgrade s2 ON e2.sal BETWEEN s2.losal AND s2.hisal
- WHERE s2.grade = s.grade)
- ORDER BY s.grade;
- --10. Podaj nazwisko, pensję i nazwę departamentu pracowników,
- --których płaca przekracza średnią ich grup zarobkowych.
- SELECT e.ename, e.sal, e.deptno, s.grade
- FROM emp e JOIN salgrade s ON e.sal BETWEEN s.losal AND s.hisal
- WHERE e.sal > (SELECT AVG(e2.sal)
- FROM emp e2 JOIN salgrade s2 ON e2.sal BETWEEN s2.losal AND s2.hisal
- WHERE s2.grade = s.grade);
- --11. Stosujac podzapytanie znajdz departamenty, w których nikt nie pracuje.
- SELECT *
- FROM dept d
- WHERE NOT EXISTS (SELECT 1
- FROM emp e
- WHERE e.deptno=d.deptno);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement