X


Historia wymaga pasterzy, nie rzeźników.

Kt�rych pracownik�w departamenty mieszcz� si� w Dallas
2. Kt�rzy pracownicy dzia�u 20 nie maj� stanowisk wyst�puj�cych w dziale 10
3. Kto zarabia wi�cej ni� kt�rakolwiek osoba na stanowisku Manager
4. Kt�rzy pracownicy z dzia�u 20 zarabiaj� wi�cej od pracownik�w z dzia�u 30
5. Poda� nazwiska pracownik�w maj�cych podw�adnych
6. Poda� departamenty w kt�rych nikt nie pracuje
7. Poda� nazwiska i stanowiska os�b, zatrudnionych w departamentach w kt�rych r�nica mi�dzy maksymalnymi a minimalnymi zarobkami jest wi�ksza lub r�wna �rednim zarobkom w departamencie
8. Poda� nazwisko, stanowisko os�b zatrudnionych w departamentach, dla kt�rych max(sal)-min(sal)=avg(sal)+25 (avg - w poszczeg�lnych departamentach)
9. Poda� nazwiska os�b, dla kt�rych r�nica stopnia wynagrodzenia wynosi 4 lub 3
1)
SELECT ename,loc FROM emp,dept WHERE loc='DALLAS' AND dept.deptno=emp.deptno;
2)
SELECT e1.ename, e1.job FROM emp e1 WHERE e1.deptno=20 AND NOT EXISTS (SELECT e2.job FROM emp e2 WHERE e1.job==e2.job AND e2.deptno=10); <-- ERROR
3)
SELECT ename,job,sal FROM emp e1 WHERE NOT EXISTS (SELECT ename FROM emp e2 WHERE e2.sal > e1.sal AND e2.job='MANAGER');
SELECT ename,job,sal FROM emp e1 WHERE sal > (SELECT MIN(sal) FROM emp e2 WHERE e2.job='MANAGER');
(* troch� inne wyniki dla os�b na job='MANAGER')
4)
SELECT ename,job,sal FROM emp e1 WHERE deptno=20 AND sal > (SELECT MAX(sal) FROM emp e2 WHERE e2.job=e1.job AND e2.deptno=30);
SELECT ename,job,sal FROM emp e1 WHERE deptno=20 AND NOT EXISTS (SELECT sal FROM emp e2 WHERE e2.job=e1.job AND e2.deptno=30); <-- ZLY WYNIK
5)
SELECT ename FROM emp e1 WHERE EXISTS (SELECT ename FROM emp e2 WHERE e2.mgr=e1.empno);
6)
SELECT * FROM dept WHERE NOT EXISTS (SELECT ename FROM emp WHERE emp.deptno=dept.deptno);
7)
SELECT * FROM emp GROUP BY deptno HAVING MAX(sal) - MIN(sal) >= AVG(sal); <-- ERROR
8)
9)
SELECT e1.ename, e2.ename FROM emp e1, salgrade s1 WHERE (e1.sal BETWEEN s1.losal AND s1.hisal) AND
(SELECT e2.ename FROM emp e2,salgrade s2 WHERE (e2.sal BETWEEN s2.losal AND s2.hisal) AND s1.grade-s2.grade >= 3);

Drogi użytkowniku!

W trosce o komfort korzystania z naszego serwisu chcemy dostarczać Ci coraz lepsze usługi. By móc to robić prosimy, abyś wyraził zgodę na dopasowanie treści marketingowych do Twoich zachowań w serwisie. Zgoda ta pozwoli nam częściowo finansować rozwój świadczonych usług.

Pamiętaj, że dbamy o Twoją prywatność. Nie zwiększamy zakresu naszych uprawnień bez Twojej zgody. Zadbamy również o bezpieczeństwo Twoich danych. Wyrażoną zgodę możesz cofnąć w każdej chwili.

 Tak, zgadzam się na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerów w celu dopasowania treści do moich potrzeb. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

 Tak, zgadzam się na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerów w celu personalizowania wyświetlanych mi reklam i dostosowania do mnie prezentowanych treści marketingowych. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

Wyrażenie powyższych zgód jest dobrowolne i możesz je w dowolnym momencie wycofać poprzez opcję: "Twoje zgody", dostępnej w prawym, dolnym rogu strony lub poprzez usunięcie "cookies" w swojej przeglądarce dla powyżej strony, z tym, że wycofanie zgody nie będzie miało wpływu na zgodność z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.