M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T2
1. Fes una consulta per visualitzar el nom i el salari dels empleats que guanyen més de 2850$. Guarda la sentència SQL en un fitxer anomenat p2q1.sql. Executa la consulta.
SELECT ename, sal FROM emp WHERE sal>2850; SAVE p2q1.sql
2. Fes una consulta per visualitzar el nom del empleat i el codi del departament per l'empleat amb codi 7566.
SELECT ename, deptno FROM emp WHERE empno=7566;
3. Modifica p2q1.sql per visualitzar el nom i el salari de tots els empleats que tinguin un salari entre 1500$ i 2850$. Guarda a questa sentència SQL en un fitxer anomenat p2q3.sql. Executa la consulta.
EDIT p2q1.sql SELECT ename, sal FROM emp WHERE sal NOT BETWEEN 1500 AND 2850; / START p2q3.sql
4. Mostra el nom del empleat, ofici i data d'alta, dels empleats contractats entre el 20 de febrer del 1981 i el 1 de maig del 1981. Ordena la consulta en ordre ascendent per data d'alta.
SELECT ename, job, hiredate FROM emp WHERE hiredate BETWEEN '20/02/81' AND '01/05/81' ORDER BY hiredate;
5. Mostra el cognom i número de departament de tots els empleats dels departaments 10 i 30. Ordena'ls de forma descendent per cognom.
SELECT ename, deptno FROM emp WHERE deptno IN (10,30) ORDER BY ename;
6. Modifica p2q3.sql per treure un llistat del cognom i salari dels empleats que guanyen més de 1500$ dels departaments 10 o 30. Etiqueta les columnes "Employee" i "Monthly Salary", respectivament. Tornar a guardar la sentència en un fitxer anomenat p2q6.sql. Executa la consulta.
EDIT p2q3.sql SELECT ename "Employee", sal "Monthly Salary" FROM emp WHERE sal > 1500 AND deptno IN (10, 30) / START p2q6.sql
7. Mostra el nom i la data d'alta de cada empleat contractat durant l'any 1982.
SELECT ename, hiredate FROM emp WHERE hiredate LIKE '%82';
8. Mostra el nom i l'ofici de tots els empleats que no tenen un cap assignat.
SELECT ename, job FROM emp WHERE mgr IS NULL;
9. Mostra el nom, salari i comissió de tots els empleats que guanyen comissions. Ordeneu per salari i comissió en ordre descendent.
SELECT ename, sal , comm FROM emp WHERE comm IS NOT NULL ORDER BY sal DESC, comm DESC;
10. Mostra els noms de tots els empleats que tinguin una A en la tercera lletra del seu nom.
SELECT ename FROM emp WHERE ename LIKE '__A%';
11. Mostra el nom de tots els empleats que tinguin dos L en el seu nom i que siguin del departament 30 o que el seu cap sigui el 7782.
SELECT ename FROM emp WHERE ename LIKE '%L%L%' AND deptno = 30 OR mgr = 7782;
12. Mostra el nom, ofici i salari de tots els empleats que tinguin com ofici Clerk o Analyst i el seu salari no sigui igual a 1000, 3000 o 5000 dòlars.
SELECT ename, job, sal FROM emp WHERE job IN ('CLERK', 'ANALYST') AND sal NOT IN (1000, 3000, 5000);
13. Modifica p2q6.sql per mostrar el nom, salari i comissió de tots els empleats que tinguin una comissió superior al seu salari incrementat un 10%. Executa la consulta. Guarda-la com p2q13.sql.
EDIT p2q6.sql SELECT ename "Employee", sal "Monthly Salary", comm FROM emp WHERE comm > sal * 1.1 / START p2q13.sql