-- jakbym się gdzies pomylił - to proszę mi dać znać... -- 1. Utworzyc liste nazw towarów od najlepiej sie sprzedajacych (w ilosciach) DO -- najmniej, pokazac równie. ilosci. SELECT pro.DESCRIPTION, SUM( it.QUANTITY ) ilosc FROM PRODUCT pro , ITEM it WHERE pro.PRODUCT_ID = it.PRODUCT_ID GROUP BY pro.DESCRIPTION ORDER BY 2 DESC -- 2. Utworzyc liste nazwisk i imion sprzedawców, od najbardziej efektywnych DO -- najmniej – za efektywnosc przyjac sumy rachunków klientów i równie. je pokazac. SELECT e.LAST_NAME, e.FIRST_NAME, SUM( so.TOTAL ) suma_rach_klientow FROM EMPLOYEE e , CUSTOMER c , SALES_ORDER so WHERE salesperson_id = employee_id AND c.customer_id = so.customer_id GROUP BY e.LAST_NAME, e.FIRST_NAME ORDER BY 3 DESC --3. Znalezc pracowników zarabiajacych najwieksza pensje na ich stanowiskach pracy. SELECT e.LAST_NAME, e.FIRST_NAME FROM EMPLOYEE e WHERE salary =( SELECT MIN( e2.salary ) FROM EMPLOYEE e2 WHERE e.JOB_ID = e2.job_id ) --4. Znalezc departament w którym nikt nie pracuje, u.ywajac dwóch ró.nych sposobów. SELECT d.NAME FROM DEPARTMENT d WHERE 0 = ( SELECT COUNT(*) FROM EMPLOYEE e WHERE d.DEPARTMENT_ID = e.DEPARTMENT_ID ) SELECT d.NAME FROM DEPARTMENT d WHERE NOT EXISTS ( SELECT 1 FROM EMPLOYEE e WHERE d.DEPARTMENT_ID = e.DEPARTMENT_ID ) --5. Dla zadanych zarobków (1500) znalezc płace bezposrednio wieksza i mniejsza od --niej. SELECT 'bezposrednio wieksza od 1500', MIN( salary ) FROM EMPLOYEE WHERE salary > 1500 UNION SELECT 'bezposrednio mniejsza od 1500', MAX( salary ) FROM EMPLOYEE WHERE salary < 1500