M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T7
De wikiserver
1. Escriu una consulta que mostri el nom, número de departament i salari de qualsevol empleat, que tinguin un número de departament i salari que es corresponguin -els dos- amb el número de departament i salari de qualsevol empleat que tingui comissió.
SELECT ename, deptno, sal FROM emp WHERE (deptno, sal) IN (SELECT deptno, sal FROM emp WHERE comm IS NOT NULL);
2. Mostra el nom, nom del departament i salari, de qualsevol empleat que tingui un salari i comissió que es corresponguin -els dos-, amb el salari i comissió de qualsevol empleat de Dallas.
SELECT ename, dname, sal FROM emp NATURAL JOIN dept WHERE (sal, nvl(comm,-1)) IN (SELECT sal , nvl(comm,-1) FROM emp NATURAL JOIN dept WHERE loc = 'DALLAS');
3. Fes una consulta per mostrar el nom, data d'alta i salari de tots els empleats que tinguin el mateix salari i comissió que Scott.
SELECT ename, hiredate, sal FROM emp WHERE (sal, nvl(comm,-1)) = (SELECT sal , nvl(comm,-1) FROM emp WHERE upper(ename) = 'SCOTT') AND upper(ename) <> 'SCOTT';
4. Fes una consulta per mostrar als empleats que guanyin un salari superior al salari de qualsevol empleat "CLERK". Ordena el resultat pel salari de forma descendent.
SELECT ename, job, sal FROM emp WHERE sal > ANY (SELECT sal FROM emp WHERE lower(job) = 'clerk') AND lower(job) <> 'clerk' ORDER BY sal DESC;