ĆWICZENIE 1
Aplikacja SOL*Plus
Użytkownik Testowy
Hasło Test
Baza danych Studenci
Zmiana domyślnych ustawień liczby znaków w linii i długości strony:
SETLINES1ZE 100;
SET PAGESIZE 25;
Cel pracy: Zapoznanie się ze sposobami konstruowania zapytań do jednej tabeli bazy danych w środowisku ORACLE. Zapoznanie się z formatami instrukcji SQL: SELECT...FROM...WHERE... ORDER BY..., słowa kluczowego DISTINCT, operatorów AND oraz OR w klauzuli WHERE. z predykatami: IN, BETWEEN, L1KE, IS NULL
1. SELECT lista wyrażeń [* | DISTINCT]
2. FROM tabela
3. WHERE warunek selekcji wierszy
4. ORDER BY wyrażenia [ASC | DESC]
Zadania
1. Wyświetl strukturę tabeli EMP (polecenie DESCRIBE).
DESCRIBE EMP
2. Wybierz wszystkie dane z tabeli EMP.
SELECT * FROM EMP;
3. Wybierz wszystkie dane z tabeli SALGRADE.
SELECT * FROM SALGRADE;
4. Wybierz wszystkie dane z tabeli DEPT
SELECT * FROM DEPT;
5. Wybierz kolumny ENAME, JOB. EMPNO z tabeli EMP,
kolumnę ENAME nazwij NAZWISKO, a kolumnę JOB - STANOWISKO,
SELECT ENAME, JOB, EMPNO FROM EMP;
6. Wybierz wszystkie dane o pracownikach, których zarobki (SAL) mieszczą się w przedziale < 1000,2000>. utwórz dwa różne zapytania
select sal from emp where sal >=1000 and sal <2000;
7. Wybierz numery i nazwy departamentów, sortując według nazw departamentów (tabela DEPT)
select deptno, dname from dept order by dname;
8. Wybierz wszystkie, wzajemnie różne stanowiska pracy (JOB).
select distinct job from emp;
9. Wybierz wszystkie dane o pracownikach zatrudnionych w departamentach 10 i 20 wyniki posortuj w kolejności alfabetycznej ich nazwisk.
select * from emp where deptno=10 or deptno=20 order by ename;
10. Wybierz 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';
11. Wybierz wszystkie informacje o wszystkich pracownikach, którzy posiadają szefa.
select * from emp where mgr is not null;
12. Wybierz nazwiska pracowników, którzy mają szefa o nr 7902.
select * from emp where mgr=7902;
13. Wybierz nazwiska i roczne pensje (12*SAL) wszystkich pracowników.
select ename, (12*sal+comm) from emp;
14. Wybierz nazwiska i całkowite, roczne dochody (12*SAL+COMM) wszystkich pracowników.
select ename, (12*sal+nvl(comm,0)) from emp;
15. W poprzednim zadaniu użyj funkcji NVL [ nvl(comm,0) ]
select ename, (12*sal+nvl(comm,0)) from emp;
16. Wybierz nazwiska i daty zatrudnienia tych, którzy zostali zatrudnieni w 1982 roku.
select ename, hiredate from emp where hiredate like '%82%';
17. Wybierz nazwiska, roczną pensję oraz prowizję tych wszystkich pracowników, którzy otrzymują prowizję. Wyniki posortuj według malejących zarobków. Jeśli dwóch lub więcej pracowników ma taką samą pensję, uporządkuj dane o nich według nazwisk zgodnie z alfabetem.
select ename, (12*sal), comm from emp where comm is not null order by sal desc, ename desc;
18. Spowoduj wyświetlenie następującego wyniku dla wszystkich z tablicy EMP.
Kto, gdzie, kiedy? KING pracuje na stanowisku PRESIDENT w zespole 10 od 17-NOV-81
select ename || ' pracuje na stanowisku '||job||'w zespole '||deptno||' od '||hiredate as "co, gdzie, kiedy?
2