EMP1
IMPLEMP1
IMPLPROJECT1
grade
empno
impl
prono
losal
ename
empno
start_date
hisal
mgr
end_date
job
DEPT1
hiredate
PROJECT1
deptno
sal
prono
dname
comm
budget
loc
deptno
1) Dla pracownika z niekreślona wartością pola zwierzchnik, podać jego podwładnych z poziomem węzła w hierarchii.
SELECT LEVEL, ename FROM EMP1 CONNECT BY PRIOR empno = mgr START WITH mgr IS NULL; 2) Korzystając ze złączeń zewnętrznych podać nazwiska pracowników którzy nie brali udziału w projektach.
SELECT ename FROM EMP1, IMPLEMP1 WHERE emp1.empno = implemp1.empno (+) AND implemp1.empno IS
NULL;
3) Dysponując okrojona kopia SALGRADE2 tabeli SALGRADE1 podaj nazwy stopni występujących w tabeli SALGRADE1 i nie występujących w tabeli SALGRADE2.
SELECT grade FROM SALGRADE1 A WHERE NOT EXISTS (SELECT grade FROM SALGRADE2 WHERE grade = A.grade); 4) Zmienić wartość numeru departamentu na 45 dla pracowników z departamentu z lokalizacja w CHICAGO.
UPDATE EMP1 set deptno = 45 WHERE deptno = (SELECT deptno FROM dept1 WHERE loc = 'CHICAGO'); 5) Utworzyć tabele klienci (idKlienta PK, nazwisko not nul , imię, adres) oraz zamówienia (idZamowienia PK, data_zamowienia not nul , data_realizacji, idKlienta FK, zrealizowane (Tak/Nie)) dodać poza definicja więź spójności referencyjnej.
CREATE TABLE KLIENCI (idKlient number(10) primary key, nazwisko char(50) not null, imie char(50), adres char(50)); CREATE TABLE ZAMOWIENIA (idZamowienia number(10) primary key, data_zamowienia char(50) not null, data_realizacji char(50), idKlienta number(10), zrealizowane char(3) CHECK (zrealizowane IN('TAK','NIE')), CONSTRAINT
fk_klient FOREIGN KEY (idKlienta) REFERENCES KLIENCI (idKlient)); lub ALTER TABLE ZAMOWIENIA_DP ADD CONSTRAINT fk_klient FOREIGN KEY (idKlienta) REFERENCES
KLIENCI_DP(idKlient);