Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.48 KB | None | 0 0
  1. CREATE TABLE departament (
  2. id_depart NUMBER(2) PRIMARY KEY,
  3. den_depart VARCHAR2(10),
  4. id_responsabil NUMBER(4)
  5. );
  6.  
  7. CREATE TABLE angajati (
  8. id_ang NUMBER(4) PRIMARY KEY,
  9. nume VARCHAR2(20),
  10. id_depart NUMBER(4),
  11. salariu NUMBER(7,2),
  12. functie VARCHAR2(20),
  13. CONSTRAINT FK_ANGAJATI FOREIGN KEY(id_depart) REFERENCES departament(id_depart)
  14. );
  15.  
  16. CREATE TABLE plafoane (
  17. den_plafon VARCHAR(10),
  18. sal_min NUMBER(7,2),
  19. sal_max NUMBER(7,2)
  20. );
  21.  
  22. SET LINE 600
  23.  
  24. INSERT INTO departament(id_depart, den_depart, id_responsabil) VALUES(10, 'IT', 1001);
  25. INSERT INTO departament(id_depart, den_depart, id_responsabil) VALUES(20, 'HR', 2001);
  26. INSERT INTO departament(id_depart, den_depart, id_responsabil) VALUES(30, 'Marketing', 3001);
  27. INSERT INTO departament(id_depart, den_depart, id_responsabil) VALUES(40, 'Productie', 4001);
  28. INSERT INTO departament(id_depart, den_depart, id_responsabil) VALUES(50, 'Empty', NULL);
  29.  
  30. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(1001, 'Gigel', 10, 180.99, 'sef A');
  31. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(2001, 'Popescu', 20, 130.99, 'sef
  32.  
  33. B');
  34. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(3001, 'Pop', 30, 102.99, 'sef C');
  35. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(4001, 'Popa', 40, 135.99, 'sef D');
  36.  
  37. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(1002, 'Dan', 10, 92.99, 'inginer');
  38. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(1003, 'Daniel', 20, 34.99, 'inginer');
  39. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(1004, 'Danut', 30, 100.99,
  40.  
  41. 'inginer');
  42. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(1005, 'Dima', 40, 110.99,
  43.  
  44. 'inginer');
  45.  
  46. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(2002, 'Geo', 10, 92.99, 'ing');
  47. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(3002, 'George', 20, 180.99,
  48.  
  49. 'inginer');
  50. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(4002, 'Costel', 30, 160.99, 'ing');
  51. INSERT INTO angajati(id_ang, nume, id_depart, salariu, functie) VALUES(2003, 'Diana', 40, 110.99,
  52.  
  53. 'inginer');
  54.  
  55. INSERT INTO plafoane(den_plafon, sal_min, sal_max) VALUES('mare', 150.00, 200.00);
  56. INSERT INTO plafoane(den_plafon, sal_min, sal_max) VALUES('mic', 50.00, 150.00);
  57.  
  58. SELECT * FROM angajati;
  59. --SELECT nume, den_depart, A.functie FROM angajati A, departament D WHERE A.id_depart=D.id_depart
  60.  
  61. AND D.den_depart='IT';
  62. --SELECT A.nume, D.den_depart, A.functie FROM angajati A JOIN departament D ON
  63.  
  64. A.id_depart=D.id_depart WHERE D.den_depart='IT';
  65. --SELECT nume, den_depart, functie FROM angajati NATURAL JOIN departament WHERE
  66.  
  67. den_depart='IT';
  68. --SELECT A.nume, P.den_plafon FROM angajati A, plafoane P WHERE A.salariu>=P.sal_min AND
  69.  
  70. A.salariu<=P.sal_max;
  71. --SELECT D.den_depart, A.nume, A.salariu FROM angajati A, departament D WHERE A.id_depart(+)
  72.  
  73. =D.id_depart;
  74.  
  75. --SELECT nume, salariu, D.den_depart FROM angajati A, departament D, plafoane P WHERE
  76.  
  77. A.id_depart=D.id_depart AND A.functie='inginer' AND P.den_plafon='mare' AND A.salariu>=P.sal_min
  78.  
  79. AND A.salariu<=P.sal_max;
  80.  
  81. --SELECT A.nume, A.salariu, D.den_depart FROM angajati A RIGHT OUTER JOIN departament D ON
  82.  
  83. A.id_depart=D.id_depart;
  84. --ACCEPT nume_depart_citit PROMPT 'Introdu te rog denumirea departamentului:';
  85. --SELECT A.nume, A.salariu, S.nume, S.salariu FROM angajati A, departament D, angajati S WHERE
  86.  
  87. A.id_depart=S.id_depart AND A.id_depart=D.id_depart AND D.id_responsabil=S.id_ang AND
  88.  
  89. D.den_depart='&nume_depart_citit' AND A.salariu > S.salariu;
  90.  
  91. --ACCEPT nume_ang_citit PROMPT 'Introdu te rog numele angajatului:';
  92. --SELECT A.nume, D.den_depart, A.salariu, P.den_plafon FROM angajati A, departament D, angajati SOLO,
  93.  
  94. plafoane P WHERE SOLO.nume='&nume_ang_citit' AND D.id_depart!=SOLO.id_depart AND
  95.  
  96. A.id_depart=D.id_depart AND P.sal_min<A.salariu AND P.sal_max>A.salariu;
  97.  
  98. SELECT EXTRACT(DAY FROM SYSDATE) AS AZI FROM DUAL;
  99. SELECT TO_CHAR(SYSDATE, 'DD') FROM DUAL;
  100.  
  101. --daca VAL1 e nenul il lasa neschimbat iar daca este null se inlocuieste cu Val2
  102. --NVL(VAL1, VAL2)
  103. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  104. ALTER TABLE angajati ADD(prima NUMBER(7,2));
  105. UPDATE angajati SET prima=0.5*salariu WHERE MOD(id_ang, 2)=0;
  106. SELECT * FROM angajati;
  107.  
  108. ACCEPT nume_ang_citit PROMPT 'Introdu te rog numele angajatului:';
  109. SELECT A.nume, D.den_depart, A.salariu, P.den_plafon FROM angajati A, departament D, angajati SOLO,
  110.  
  111. departament D_sef, angajati SEF, plafoane P WHERE SOLO.nume='&nume_ang_citit' AND
  112.  
  113. D_sef.id_depart=SOLO.id_depart AND SEF.id_ang=D_sef.id_responsabil AND D.id_depart=SEF.id_depart
  114.  
  115. AND A.id_depart=D.id_depart AND P.sal_min<A.salariu AND P.sal_max>A.salariu;
  116.  
  117. SELECT ROUND(SYSDATE-TO_DATE('25-12-2018', 'DD-MM-YYYY'), 'ZI') FROM DUAL;
  118.  
  119. SELECT A.nume, D.den_depart, A.salariu + A.prima, SEF.nume, SEF.salariu + NVL(SEF.prima, 0) FROM
  120.  
  121. angajati A, departament D, angajati SEF WHERE A.prima IS NOT NULL AND A.id_depart=D.id_depart
  122.  
  123. AND D.id_responsabil=SEF.id_ang;
  124.  
  125. SELECT LAST_DAY(SYSDATE) FROM dual;
  126. SELECT TRANSLATE('a cd efg hij', ' ', '_') FROM dual;
  127. SELECT SUBSTR('123456789', 3, 2) FROM dual;
  128. SELECT CEIL(23.6) FROM dual;
  129.  
  130. DROP TABLE plafoane;
  131. DROP TABLE angajati;
  132. DROP TABLE departament;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement