1. Wybrać nazwy departamentów z tabeli DEPT SELECT dname FROM dept; 2. Wybrać wszystkie kolumny z tabeli Salgrade SELECT * FROM salgrade; 3. Wyliczyć roczną prowizję dla każdego pracownika SELECT ename, comm * 12 FROM emp; 4. Wyliczyć roczną prowizję dla każdego pracownika, zakładając że każdy dostanie podwyżkę prowizji o 100zł. SELECT ename, (comm + 100) * 12 FROM emp; 7. Połączyć Nazwę i lokalizację departamentów SELECT deptno||dname FROM dept; 8. Utworzyć zapytanie „Pracownik pracuje na stanowisku” podając jego numer i nazwisko SELECT empno||' '||ename Pracownik, 'Pracuje na stanowisku', job Stanowisko FROM emp; 9. Wypisać prowizję dla każdego pracownika – jeśli jej nie ma - wypisać że ma zero SELECT ename, NVL(comm,0) FROM emp; 10. Wyświetlić wszystkie stanowiska występujące w tabeli EMP. SELECT job FROM emp; 11. Wyświetlić wszystkie różne stanowiska występujące w tabeli EMP SELECT DISTINCT job FROM emp; 12. Wybrać wszystkie wzajemnie różne kombinacje wartości DEPTNO i MGR SELECT DISTINCT deptno, mgr FROM emp; 13. Posortować wszystkie dane tabeli Dept według DNAME. SELECT * FROM dept ORDER BY dname; 14. Posortować malejąco wszystkie dane tabeli EMP według numerów pracowników SELECT * FROM emp ORDER BY empno DESC; 15. Posortować dane tabeli EMP według stanowisk; w ramach jednego stanowiska posortować ze względu na pensje – malejąco. SELECT * FROM emp ORDER BY job, sal DESC; 16. Wybrać nazwiska, numery pracowników, stanowiska pracy, płacę zawód wszystkich osób z działu 10 SELECT ename, empno, job, sal from emp WHERE deptno = 10; 17. Wybrać wszystkich pracowników zabraniających więcej niż 3000 SELECT ename FROM emp WHERE sal > 3000; 18. Wybrać pracowników, którzy nie maja prowizji. SELECT ename FROM emp WHERE NVL(comm,0)=0; 19. Wybrać nazwiska i stanowiska tych pracowników, których zarobki mieszczą się pomiędzy 2000 a 3000 SELECT ename, job FROM emp WHERE sal BETWEEN 2000 AND 3000; 20. Wybrać dane tych pracowników, którzy są zatrudnieni na stanowisku Clerk lub Manager SELECT * FROM emp WHERE job IN ('CLERK', 'MANAGER'); 21. Wybrać dane tych pracowników, których nazwiska kończa się na T. SELECT * FROM emp WHERE RRTIM(ename) LIKE '%T'; 22. Wybrać dane tych działów, których nazwy są sześcioliterowe SELECT * FROM dept WHERE RTRIM(dname) LIKE '______'; 24. Wybrać dane tych pracowników, których zarobki są poza przedziałem <2000, 3000>. SELECT * FROM emp WHERE sal NOT BETWEEN 2000 AND 3000; 25. Wybrać dane tych pracowników, których nazwiska nie kończą się na E SELECT * FROM emp WHERE RTRIM(ename) NOT LIKE '%E'; 26. Wybrać dane tych pracowników, którzy nie mają szefa. SELECT * FROM emp WHERE mgr IS NULL; 27. Wybrać dane tych pracowników zatrudnionych w dziale 10, których zarobki mieszczą się w przedziale <1500, 3000>. SELECT * FROM emp WHERE deptno = 10 AND sal BETWEEN 1500 AND 3000; 28. Wybrać dane tych pracowników zatrudnionych w dziale 10, których zarobki mieszczą się w przedziale <1500, 3000>. SELECT * FROM emp WHERE deptno = 10 OR sal BETWEEN 1500 AND 3000; 29. Wybrać wszystkich pracowników zatrudnionych w dziale 10 na stanowisku SALESMAN oraz wszystkich z pensją powyżej 3000. SELECT * FROM emp WHERE deptno = 10 AND job = 'SALESMAN' OR sal > 1500; 30. Wybrać wszystkich pracowników zatrudnionych w dziale 10 oraz wszystkich na stanowisku SALESMAN z pensją ponizej 3000. SELECT * FROM emp WHERE deptno = 10 OR (job = 'SALESMAN' AND sal < 3000); ------------------------------------------------------------------------------------------------------------------------------------------------------------- Zapytania dodatkowe - nieobowiązkowe: 1. Wybrać wszystkie dane z tabeli SALGRADE. SELECT * FROM SALGRADE; 2. wybrać wszystkie dane z tabeli DEPT. SELECT * FROM DEPT; 3. Wybrać dane tych pracowników, których zarobki mieszczą się w przedziale <1000, 2000> SELECT * FROM EMP WHERE SAL BETWEEN 1000 AND 2000; 4. Wybrać numery i nazwy departamentów sortując według numerów departamentów. SELECT deptno, dname FROM DEPT ORDER BY deptno; 5. Wybrać wszystkie wzajemnie różne stanowiska pracy. SELECT DISTINCT job FROM emp; 6. Wybrać dane pracowników zatrudnionych w departamentach 10 i 20 w kolejności alfabetycznej ich nazwisk. SELECT * FROM emp WHERE deptno IN (10,20) ORDER BY ename; 7. Wybrać nazwiska i stanowiska pracy wszystkich pracowników z departamentu 20 zatrudnionych na stanowisku CLERK. SELECT ename, job FROM emp WHERE deptno=20 AND job='CLERK'; 8. Wybrać nazwiska tych pracowników, w których nazwisku występuje ciąg liter „TH” lub „LL”. SELECT ename FROM emp WHERE ename LIKE '%TH%' OR ename LIKE '%LL%'; 9. Wybrać nazwisko, stanowisko i pensję pracowników, którzy posiadają szefa. SELECT ename, job, sal FROM emp WHERE mgr IS NOT NULL; 10. Wybrać nazwiska i całoroczne dochody wszystkich pracowników. SELECT ename, sal*12 FROM emp; 11. Wybrać ENAME, DEPTNO i HIREDATE tych pracowników, którzy zostali zatrudnieni w 1982 r. SELECT ename, deptno, hiredate FROM emp WHERE hiredate LIKE '82%'; 12. Wybrać nazwiska, roczną pensję oraz prowizję tych wszystkich sprzedawców, których miesięczna pensja przekracza prowizję. Wyniki posortować według malejących zarobków, potem nazwisk. SELECT ename, sal*12, comm FROM emp WHERE sal>comm ORDER BY sal DESC, ename;