SQL
SQL
1) Mostrar todas las especialidades que ejercen los médicos ordenados por especialidad
y apellidos.
FUNCIONES
Avg=promedio
SQL.(4/10/22)
SELECT DISTINCT OFICIO, MAX( SALARIO ) FROM EMP GROUP BY OFICIO LIMIT 0 , 30
21) Mostrar de todas las Salas el nombre del hospital el numero de cama(SALA Y
HOSPITA)
22) Mostrar todo el personal de plantilla nombre hospital, apellido ,función (HOSPITAL Y
PLANTILLA)
23) SELECT APELLIDO, OFICIO, DNOMBRE
FROM EMP
LEFT OUTER JOIN DEPT ON EMP.DEPT_NO = DEPT.DEPT_NO
LIMIT 0 , 30
24) Mostrar los empleados que tienen asociado un departamento o no .
SELECT APELLIDO, OFICIO, DNOMBRE
FROM EMP
RIGHT OUTER JOIN DEPT ON EMP.DEPT_NO = DEPT.DEPT_NO
LIMIT 0 , 30
26) Ejercicios : Mostrar los datos de empleados (apellido , oficio , salario, Nº departamento y el nombre de
departamento de los empleados cuyo salario es mayor de 300000).
SELECT APELLIDO, OFICIO, SALARIO, DNOMBRE
FROM EMP
INNER JOIN DEPT ON EMP.DEPT_NO = DEPT.DEPT_NO
WHERE EMP.SALARIO >300000
LIMIT 0 , 30
27) Mostrar todas los nombres de salas con su respectivo nombre de hospital
SELECT sala.nombre, hospital.nombre
FROM hospital
INNER JOIN sala ON hospital.hospital_cod = sala.hospital_cod
SELECT B.nombre, A.nombre
FROM hospital A
INNER JOIN sala B ON A.hospital_cod = b.hospital_cod
28. Calcular cuantos trabajadores hay en cada ciudad
SELECT COUNT( EMP.APELLIDO ) , DEPT.LOC
FROM EMP
INNER JOIN DEPT ON EMP.DEPT_NO = DEPT.DEPT_NO
GROUP BY dept.loc
SELECT COUNT( EMP.APELLIDO ) , DEPT.LOC
FROM EMP
RIGHT JOIN DEPT ON EMP.DEPT_NO = DEPT.DEPT_NO
GROUP BY dept.loc
29 Calcular cuantas salas hay en cada hospital . mostrar numero y nombre del hospital.
SELECT COUNT( sala.hospital_cod ) , hospital.nombre
FROM hospital
RIGHT JOIN sala ON sala.hospital_cod = hospital.hospital_cod
GROUP BY hospital.nombre
31. Mostrar los datos del empleado mas antiguo con su fecha de ingreso
SELECT apellido, EMP_NO, fecha_alt
FROM emp
WHERE fecha_alt = (
SELECT MAX( fecha_alt )
FROM emp )
32. Mostrar los datos de los empleados del mismo oficio de Jimenez
SELECT apellido, oficio
FROM emp
WHERE oficio = (
SELECT oficio
FROM emp
WHERE apellido = 'Jimenez' )
Delimiter $$
Return numero ;
END
$$
Delimiter;
DELIMITER $$
BEGIN
RETURN NUMERO;
END
$$
DELIMITER ,,
DELIMITER $$
BEGIN
RETURN HNOMBRE;
END
$$
DELIMITER ;
4. Crear la función que calcule el número de doctores según el código del hospital
FNUMERODOCTORH
5. Crear la función que calcule el numero de salas según el código del hospital
FNUMSALAH
PROCEDIMIENTO ALMACENADOS
DELIMITER $$
CREATE PROCEDURE SPLISTAEMP ()
BEGIN
SELECT * FROM EMP ;
END
$$
DELIMITER ;
DELIMITER $$
CREATE PROCEDURE SPLISTAEMPLEA ()
BEGIN
SELECT OFICIO FROM EMP ;
END
$$
DELIMITER ;
END
DELIMITER $$
CREATE PROCEDURE Sisals ()
BEGIN
SELECT sala.NOMBRE,hospital.Hospital_cod FROM Sala INNER JOIN
HOSPITAL ON sala.hospital_cod = hospital.hospital_cod ;
END
$$
DELIMITER;