Sie sind auf Seite 1von 3

PRCTICA II

-- SUBCONSULTAS DE UNA FILA

/*1 Cree una consulta para mostrar el apellido concatenado


con el nombre separndolos con una coma, la descripcin del
cargo y el salario del empleado/s que ms cobra en la empresa.
Utilice alias en las columnas para clarificar los datos
mostrados.*/

SELECTCONCAT(LAST_NAME,CONCAT(',',FIRST_NAME))"APELLIDO,NOMBRE",
JOB_TITLE"DESCRIPCINDECARGO"
FROMEMPLOYEESEJOINJOBSJ
ON(E.JOB_ID=J.JOB_ID)
WHERESALARY=(SELECTMAX(SALARY)
FROMEMPLOYEES);

-- 2 Cree una consulta para mostrar el apellido concatenado


con el nombre separndolos con una coma, la fecha de
contratacin (hire_date) y el nombre del departamento donde
trabaja el/los empleado/s ms antiguo de la empresa. Utilice
alias en las columnas para clarificar los datos mostrados.

SELECTCONCAT(LAST_NAME,CONCAT(',',FIRST_NAME))"APELLIDO,NOMBRE",
HIRE_DATE"FECHADECONTRATACIN",DEPARTMENT_NAME
FROMEMPLOYEESEJOINDEPARTMENTSD
ON(E.DEPARTMENT_ID=D.DEPARTMENT_ID)
WHEREHIRE_DATE=(SELECTMIN(HIRE_DATE)
FROMEMPLOYEES);

-- 3 Cree una consulta para mostrar el apellido concatenado


con el nombre separndolos con una coma, el nombre del director
a cargo y el salario de los empleados que trabajan como
Programmer en la empresa. Utilice alias en las columnas para
clarificar los datos mostrados.

LOS DOS ESTN BIEN


SELECTCONCAT(E.LAST_NAME,CONCAT(',',E.FIRST_NAME))"APELLIDO,NOMBRE",
D.FIRST_NAME"DIRECTOR",E.SALARY"SALARIO"
FROMEMPLOYEESD,EMPLOYEESEJOINJOBSJ
ON(E.JOB_ID=J.JOB_ID)
WHEREE.MANAGER_ID=D.EMPLOYEE_IDANDJOB_TITLE=(SELECTJOB_TITLE
FROMJOBS
WHEREJOB_TITLE='Programmer');

OTRA FORMA
SELECTCONCAT(D.LAST_NAME,CONCAT(',',D.FIRST_NAME))"APELLIDO,NOMBRE",E.
FIRST_NAME"DIRECTOR",D.SALARY"SALARIO"
FROMEMPLOYEESE,EMPLOYEESDJOINJOBSJ
ON(D.JOB_ID=J.JOB_ID)
WHERED.MANAGER_ID=E.EMPLOYEE_IDANDJOB_TITLE=(SELECT
JOB_TITLE
FROMJOBS
WHEREJOB_TITLE='Programmer');

--4 Cree una consulta para mostrar el apellido concatenado


con el nombre separndolos con una coma y el salario de los
empleados que trabajan en el departamento de Accounting de la
empresa. Utilice alias en las columnas para clarificar los datos
mostrados

SELECTCONCAT(LAST_NAME,CONCAT(',',FIRST_NAME))"APELLIDO,NOMBRE",
SALARY"SALARIO"
FROMEMPLOYEESEJOINDEPARTMENTSD
ON(E.DEPARTMENT_ID=D.DEPARTMENT_ID)
WHEREDEPARTMENT_NAME=(SELECTDEPARTMENT_NAME
FROMDEPARTMENTS
WHEREDEPARTMENT_NAME='Accounting');

-- SUBCONSULTAS DE VARIAS FILAS

-- 1 Cree una consulta para mostrar el nmero de empleado, el


apellido concatenado con el nombre separndolos con una coma, la
descripcin del cargo actual de los empleados que alguna vez
hayan cambiado de cargo dentro de la empresa. Utilice alias en
las columnas para clarificar los datos mostrados.

SELECTEMPLOYEE_ID"NMERODE
EMPLEADO",CONCAT(LAST_NAME,CONCAT(',',FIRST_NAME))"APELLIDO,NOMBRE",
JOB_TITLE"CARGOACTUAL"
FROMJOBSJJOINEMPLOYEESE
ON(E.JOB_ID=J.JOB_ID)JOINJOB_HISTORYH
ON(E.EMPLOYEE_ID=H.EMPLOYEE_ID)
GROUPBYEMPLOYEE_ID,LAST_NAME,FIRST_NAME,JOB_TITLE
HAVINGCOUNT(EMPLOYEE_ID)>=1;

SUBCONSULTA
SELECTEMPLOYEE_ID"NMERODE
EMPLEADO",CONCAT(LAST_NAME,CONCAT(',',FIRST_NAME))"APELLIDO,NOMBRE",
JOB_TITLE"CARGOACTUAL"
FROMJOBSJJOINEMPLOYEESE
ON(E.JOB_ID=J.JOB_ID)
WHEREE.EMPLOYEE_IDIN(SELECTEMPLOYEE_ID
FROMJOB_HISTORY);

-- 2 Muestre el apellido, el nombre de departamento y nombre


del cargo de los empleados que estn en un cargo que el salario
mnimo para el mismo sea mayor a 9500.

SELECTLAST_NAMEAPELLIDO,DEPARTMENT_NAMEDEPARTAMENTO,JOB_TITLE
CARGO
FROMJOBSJJOINEMPLOYEESE
ON(J.JOB_ID=E.JOB_ID)JOINDEPARTMENTSD
ON(E.DEPARTMENT_ID=D.DEPARTMENT_ID)
WHEREMIN_SALARYIN(SELECTMIN_SALARY
FROMJOBS
WHEREMIN_SALARY>9500);

-- 3 Cree una consulta para mostrar el nmero de empleado, el


apellido y el salario de los empleados en que el director del
mismo tenga asignado un porcentaje de comisin.

SELECTEMPLOYEE_ID"NMERODEEMPLEADO",LAST_NAMEAPELLIDO,SALARY
SALARIO
FROMEMPLOYEES
WHEREMANAGER_IDIN(SELECTEMPLOYEE_ID
FROMEMPLOYEES
WHERECOMMISSION_PCTISNOTNULL);