sql queries

6
lab1 ex1 SELECT last_name, job_id, salary as Salariu FROM Employees ex2 SELECT * FROM DEPARTMENTS ex3 SELECT first_name, hire_date AS "Data Angajarii", phone_number FROM EMPLOYEES ex4 SELECT DISTINCT job_id FROM EMPLOYEES ex5 SELECT last_name ||' '|| first_name AS Angajat FROM EMPLOYEES ex6 SELECT first_name ||' '|| last_name AS Angajat, salary AS Salariu FROM EMPLOYEES WHERE salary > 12000; ex7 SELECT first_name, department_id, employee_id FROM EMPLOYEES WHERE employee_id = 176 ex8 SELECT * FROM EMPLOYEES WHERE hire_date BETWEEN TO_DATE ('02/20/1988') AND TO_DATE ('05/21/2007'); ex9 SELECT * FROM EMPLOYEES WHERE salary <=5000 OR salary >=12000 ex10 SELECT last_name, first_name, department_id FROM EMPLOYEES WHERE department_id I N (20,50) ORDER BY last_name ex11 SELECT * FROM EMPLOYEES WHERE manager_id IS NULL ex12 SELECT first_name, salary, commission_pct FROM EMPLOYEES WHERE commission_pct IS NOT NULL ORDER BY commission_pct ASC ex13 SELECT last_name FROM EMPLOYEES WHERE last_name LIKE '__a%' ex14 SELECT last_name FROM EMPLOYEES WHERE last_name LIKE '%e%' lab1p2 ex1 SELECT SYSDATE AS DataCurenta

Upload: petrov-adrian

Post on 11-Apr-2016

3 views

Category:

Documents


1 download

DESCRIPTION

SQL TEMA SGBD

TRANSCRIPT

lab1

ex1SELECT last_name, job_id, salary as SalariuFROM Employees

ex2SELECT *FROM DEPARTMENTS

ex3SELECT first_name, hire_date AS "Data Angajarii", phone_number FROM EMPLOYEES

ex4SELECT DISTINCT job_id FROM EMPLOYEES

ex5SELECT last_name ||' '|| first_name AS Angajat FROM EMPLOYEES

ex6SELECT first_name ||' '|| last_name AS Angajat, salary AS Salariu FROM EMPLOYEES WHERE salary > 12000;

ex7SELECT first_name, department_id, employee_id FROM EMPLOYEES WHERE employee_id = 176

ex8SELECT * FROM EMPLOYEES WHERE hire_date BETWEEN TO_DATE ('02/20/1988')AND TO_DATE ('05/21/2007');

ex9SELECT * FROM EMPLOYEES WHERE salary <=5000OR salary >=12000

ex10SELECT last_name, first_name, department_id FROM EMPLOYEES WHERE department_id IN (20,50)ORDER BY last_name

ex11SELECT * FROM EMPLOYEES WHERE manager_id IS NULL

ex12SELECT first_name, salary, commission_pct FROM EMPLOYEES WHERE commission_pct IS NOT NULL ORDER BY commission_pct ASC

ex13SELECT last_name FROM EMPLOYEES WHERE last_name LIKE '__a%'

ex14SELECT last_name FROM EMPLOYEES WHERE last_name LIKE '%e%'

lab1p2

ex1SELECT SYSDATE AS DataCurenta

FROM DUAL;

ex2SELECT CONCAT (last_name, first_name) AS Angajat, salary AS Salariu FROM EMPLOYEESWHERE SALARY > 12000

ex3SELECT last_name||' '||first_name as Angajat, ROUND(salary*15/100) + salary AS Salariu_Nou FROM employees;

ex4SELECT last_name ||''|| first_name AS Angajat, ROUND(salary*15/100) + salary AS Salariu_Nou, salary + ROUND(salary*15/100) - salary AS Marire FROM Employees;

ex5SELECT last_name, LENGTH (last_name) FROM EMPLOYEES

ex6SELECT last_name FROM EMPLOYEES WHERE last_name LIKE 'J%' OR last_name LIKE 'A%' OR last_name LIKE 'M%'

ex7SELECT last_name, ROUND(MONTHS_BETWEEN(sysdate, hire_date)) AS Vechime FROM EMPLOYEESORDER BY Vechime DESC;

ex9SELECT last_name, ROUND(MONTHS_BETWEEN(sysdate, hire_date)/12) AS VechimeAni FROM EMPLOYEESORDER BY VechimeAni DESC;

ex10SELECT last_name ||''|| first_name AS Angajat, salary AS Castiga, salary*3 AS Viseaza FROM EMPLOYEES

ex11SELECT last_name, ADD_MONTHS(hire_date, 6) AS Terminat FROM EMPLOYEES ORDER BY hire_date DESC;

ex12SELECT last_name, NEXT_DAY(ADD_MONTHS(hire_date, 6),'monday') AS Terminat FROM EMPLOYEES ORDER BY hire_date DESC;

ex13SELECT last_name, ROUND(MONTHS_BETWEEN(sysdate, hire_date)/12) AS Vechime FROM EMPLOYEES WHERE ROUND(MONTHS_BETWEEN(sysdate, hire_date)/12) > 5 ORDER BY Vechime DESC;

ex14SELECT last_name, ROUND(MONTHS_BETWEEN(sysdate, hire_date)/12) AS Vechime FROM EMPLOYEES WHERE UPPER(last_name) LIKE 'A%'ORDER BY Vechime DESC;

ex15SELECT last_name ||' '|| first_name AS Nume, LPAD(salary,10,'$') AS Salariu FROM EMPLOYEES

ex16SELECT last_name ||' '|| first_name AS Nume, hire_date AS Angajare FROM EMPLOYEE

S

ex17SELECT last_name, commission_pct FROM EMPLOYEES WHERE commission_pct IS NOT NULL;

lab2

ex1CREATE VIEW EMPLOYEES_VUAS SELECT e.employee_id, e.last_name, d.department_id, d.department_nameFROM EMPLOYEES e JOIN DEPARTMENTS d ON e.department_id = d.department_id

ex4SELECT last_nameFROM EMPLOYEES_VUWHERE department_name = 'Executive'

lab3

ex1SELECT DISTINCT job_title, department_id FROM EMPLOYEES eJOIN jobs jON e.job_id = j.job_idWHERE department_id = 80

ex2SELECT DISTINCT job_title, e.department_id, cityFROM EMPLOYEES eJOIN jobs j ON e.job_id = j.job_idJOIN DEPARTMENTS d ON d.department_id = e.department_idJOIN LOCATIONS l ON l.location_id = d.location_idWHERE e.department_id = 80

ex3SELECT e.first_name ||' '|| e.last_name, d.department_nameFROM EMPLOYEES e JOIN DEPARTMENTS dON e.department_id = d.department_idWHERE UPPER(e.last_name) LIKE 'A%'

ex4SELECT job_title, e.department_id, cityFROM EMPLOYEES eJOIN jobs j ON e.job_id = j.job_idJOIN DEPARTMENTS d ON d.department_id = e.department_idJOIN LOCATIONS l ON l.location_id = d.location_idWHERE UPPER(city) = 'TORONTO'

ex5SELECT d.department_name, cityFROM DEPARTMENTS d JOIN LOCATIONS l ON l.location_id = d.location_id

ex6

SELECT d.department_name, cityFROM DEPARTMENTS d RIGHT OUTER JOIN LOCATIONS l ON d.location_id = l.location_id

ex7SELECT d.department_name, cityFROM DEPARTMENTS d RIGHT OUTER JOIN LOCATIONS l ON d.location_id = l.location_idWHERE department_name IS NULL

ex8SELECT department_id, country_nameFROM DEPARTMENTSRIGHT JOIN LOCATIONSON DEPARTMENTS.location_id = LOCATIONS.location_idRIGHT JOIN COUNTRIES ON LOCATIONS.country_id = COUNTRIES.country_id

ex9SELECT angajat.employee_id AS id_angajat, angajat.last_name AS Nume_angajat, manager.employee_id AS Nr_Angajat, manager.last_name AS ManagerFROM EMPLOYEES angajat JOIN EMPLOYEES manager ON angajat.manager_id = manager.employee_id

ex10SELECT angajat.employee_id AS id_angajat, angajat.last_name AS Nume_angajat, manager.employee_id AS Id_Manager, manager.last_name AS ManagerFROM EMPLOYEES angajat LEFT OUTER JOIN EMPLOYEES manager ON angajat.manager_id = manager.employee_idWHERE angajat.manager_id IS NULL

ex11SELECT angajat.employee_id AS id_angajat, angajat.last_name AS Nume_angajat, manager.employee_id AS Id_Manager, manager.last_name AS Manager, manager.department_id AS ID_MANAGER_DEPARTAMENT, angajat.department_id AS ID_ANGAJAT_DEPARTAMENTFROM EMPLOYEES angajat LEFT OUTER JOIN EMPLOYEES manager ON angajat.manager_id = manager.employee_idWHERE angajat.department_id <> manager.department_id

ex12SELECT angajat.employee_id AS id_angajat, angajat.last_name AS Nume_angajat, manager.employee_id AS Id_Manager, manager.last_name AS Manager, manager.department_id AS ID_MANAGER_DEPARTAMENT, angajat.department_id AS ID_ANGAJAT_DEPARTAMENTFROM EMPLOYEES angajat LEFT OUTER JOIN EMPLOYEES manager ON angajat.manager_id = manager.employee_idWHERE angajat.department_id != manager.department_id

ex14SELECT last_name, job_title, department_nameFROM EMPLOYEES JOIN JOBS ON EMPLOYEES.job_id = JOBS.job_idJOIN DEPARTMENTS ON EMPLOYEES.department_id = DEPARTMENTS.department_id

ex15SELECT last_name, job_title, department_name, ROUND(MONTHS_BETWEEN(end_date, start_date)) AS IntervalFROM JOBS JOIN JOB_HISTORY on JOBS.job_id = JOB_HISTORY.job_idJOIN DEPARTMENTS ON JOB_HISTORY.department_id = DEPARTMENTS.department_idRIGHT JOIN EMPLOYEES ON JOB_HISTORY.employee_id = EMPLOYEES.employee_id

ex16SELECT last_name ||''|| first_name AS Nume, job_titleFROM JOB_HISTORY JOIN JOBS ON JOB_HISTORY.job_id = JOBS.job_idJOIN EMPLOYEES ON JOB_HISTORY.employee_id = EMPLOYEES.employee_id

ex17

lab4

lab5

ex1SELECT employee_id, last_name, job_idFROM EMPLOYEES WHERE job_id = (SELECT job_id FROM EMPLOYEES WHERE last_name = 'De Haan')

ex6SELECT employee_id, last_name FROM EMPLOYEES WHERE department_id = (SELECT department_id FROM DEPARTMENTS WHERE department_name = 'Executive')

ex9SELECT AVG(salary)FROM EMPLOYEES WHERE employee_id IN (SELECT DISTINCT manager_id FROM EMPLOYEES)

ex10SELECT m.last_name, MIN(e.salary)FROM EMPLOYEES e JOIN EMPLOYEES mON e.manager_id = m.employee_idGROUP BY m.last_name

ex11SELECT m.last_name, MIN(e.salary)FROM EMPLOYEES e JOIN EMPLOYEES mON e.manager_id = m.employee_idGROUP BY m.last_nameHAVING MIN(e.salary) > 6000

ex12SELECT last_name, commission_pct FROM EMPLOYEES WHERE commission_pct = (SELECT MIN(commission_pct) FROM EMPLOYEES)

ex13SELECT COUNT(employee_id), manager_id FROM EMPLOYEESWHERE manager_id IS NOT NULLGROUP BY manager_idHAVING COUNT(employee_id) =(SELECT MIN(COUNT(employee_id)) FROM EMPLOYEESGROUP BY manager_id)

lab7

ex1CREATE VIEW EMPLOYEES_VUAS SELECT e.employee_id, e.last_name, d.department_id

FROM EMPLOYEES e JOIN DEPARTMENTS d ON e.department_id = d.department_id

ex4SELECT last_nameFROM EMPLOYEES_VUWHERE department_name = 'Executive'

ex5CREATE VIEW DEPT50AS SELECT e.employee_id EMPNO, e.last_name EMPLOYEE, d.department_name DEPTNOFROM EMPLOYEES e JOIN DEPATMENTS d ON e.department_id = d.department_idWHERE d.department_id = 50WITH READ ONLY;