Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Consulta APELLIDO de la tabla empleado cuyo nº de departamento sea 30 o 10.
- SELECT DEPT_NO, APELLIDO
- FROM Empleado
- WHERE DEPT_NO = 10 OR DEPT_NO = 30
- -- Consulta Apellido de la tabla empleado cuyo nº de dptno no sea ni 30 ni 10
- SELECT DEPT_NO, APELLIDO
- FROM Empleado
- WHERE NOT(DEPT_NO = 10 OR DEPT_NO = 30)
- -- Consulta de la tabla empleado los apellidos cuyo oficio sea vendedor, analista o empleado
- SELECT OFICIO, APELLIDO
- FROM Empleado
- WHERE OFICIO IN ('Vendedor' , 'Analista','Empleado')
- -- Ni vendedor, analista o empleado
- SELECT OFICIO, APELLIDO
- FROM Empleado
- WHERE OFICIO NOT IN ('Vendedor' , 'Analista','Empleado')
- -- Apellidos y salario de los empleados cuyo salario este comprendido entre 1500 y 2000
- SELECT APELLIDO, SALARIO
- FROM Empleado
- WHERE SALARIO BETWEEN 1500 AND 2000;
- -- Que no este comprendido entre 1500 y 2000.
- SELECT APELLIDO, SALARIO
- FROM Empleado
- WHERE SALARIO NOT BETWEEN 1500 AND 2000;
- -- Apellido, Salario y nº dept de empleados cuyo salario sea >2000 en los departamentos 10 o 20.
- SELECT APELLIDO, SALARIO, DEPT_NO
- FROM Empleado
- WHERE SALARIO > 2000 AND (DEPT_NO= 10 OR DEPT_NO=20)
- -- Apellido de los empleados con el mismo oficio que Gil
- SELECT APELLIDO
- FROM Empleado
- WHERE OFICIO = (SELECT OFICIO FROM Empleado WHERE APELLIDO = 'Gil')
- -- Obtener Apellidos de empleados cuyo oficio sea alguno de los oficios que hay en el departamento 20.
- SELECT APELLIDO
- FROM Empleado
- WHERE OFICIO IN
- (SELECT OFICIO FROM Empleado WHERE DEPT_NO = 20)
- -- Listar departamentos que tengan empleados
- SELECT DISTINCT DEPT_NO
- FROM Empleado
- -- USANDO EXIST
- SELECT DEPT_NO
- FROM Departamento
- WHERE EXISTS (SELECT * FROM Empleado WHERE Empleado.DEPT_NO=Departamento.DEPT_NO)
- -- CONTANDO LOS EMPLEADOS DE CADA DEPARTAMENTO
- SELECT DEPT_NO, COUNT(*) AS N_EMPLEADOS
- FROM Empleado
- GROUP BY DEPT_NO
- -- Obtener los datos de los empleados cuyo salario sea igual a algún salario de los empleados del departamento 30
- SELECT *
- FROM Empleado
- WHERE SALARIO IN (SELECT SALARIO FROM Empleado WHERE DEPT_NO=30)
- -- Obtener los datos de los empleados cuyo salario sea menor a cualquier salario de los empleados del departamento 30.
- SELECT *
- FROM Empleado
- WHERE SALARIO < (SELECT MIN(SALARIO) FROM Empleado WHERE DEPT_NO=30)
- -- Usando la tabla empleados y departamento :
- Datos de empleados que trabajen en Madrid o Barcelona.
- la localidad de los departamentos se obtiene de la tabla DEPART.
- hay que relacionar la tabla emple y depart por el numero de departamento
- SELECT *
- FROM Empleado
- WHERE DEPT_NO IN
- (SELECT DEPT_NO FROM Departamento WHERE LOCALIDAD = 'Madrid' OR LOCALIDAD='Barcelona')
- -- Consultar apellidos y oficios de todos los empleados del departamento 20 cuyo trabajo sea idéntico al de cualquiera de los empleados del departamento ventas.
- SELECT APELLIDO, OFICIO
- FROM Empleado
- WHERE DEPT_NO = 20 AND OFICIO IN (SELECT OFICIO FROM Empleado WHERE DEPT_NO= (SELECT DEPT_NO
- FROM Departamento WHERE TIPO='Ventas'))
- -- Apellidos de los empleados con el mismo oficio y salario que Gil.
- SELECT APELLIDO
- FROM Empleado
- WHERE OFICIO = (SELECT OFICIO FROM Empleado WHERE APELLIDO = 'Gil')
- AND SALARIO = (SELECT SALARIO FROM Empleado WHERE APELLIDO = 'Gil')
- -- Apellidos oficio y salario de los empleados del departamento de Fernandez que tengan su mismo salario
- SELECT OFICIO, SALARIO
- FROM Empleado
- WHERE DEPT_NO = (SELECT DEPT_NO FROM Empleado WHERE APELLIDO = 'Fernandez')
- -- Nombre de los alumnos que tengan una nota entre 7 y 8 en la asignatura fol.
- SELECT * FROM ALUMNOS WHERE DNI =
- (SELECT DNI FROM NOTAS WHERE COD =
- (SELECT COD FROM ASIGNATURAS WHERE NOMBRE ='FOL') AND (NOTA=8 OR NOTA=7))
- -- Nombre de las asignaturas que no tengan suspensos.
- SELECT NOMBRE FROM ASIGNATURAS WHERE COD NOT IN (
- SELECT COD FROM NOTAS WHERE NOTA < (SELECT MIN(NOTA) FROM NOTAS WHERE NOTA >4))
- -- Datos de los empleados cuyo director sea "cerezo".
- SELECT *
- FROM departments
- WHERE EXISTS (SELECT * FROM dept_emp WHERE dept_emp.dept_no=departments.dept_no)
- -- Datos de los departamentos que tengan empleados.
- SELECT *
- FROM departments
- WHERE EXISTS (SELECT * FROM departments, dept_emp WHERE departments.dept_no=dept_emp.dept_no)
- -- Apellidos y salarios de los empleados que superen todos los salarios de los empleados del departamento 20.
- --BD cutre
- SELECT APELLIDO, SALARIO
- FROM Empleado
- WHERE SALARIO>(SELECT MAX(SALARIO) FROM Empleado WHERE DEPT_NO=20)
- -- BD employees
- SELECT last_name, first_name
- FROM employees
- WHERE emp_no IN (
- SELECT emp_no FROM salaries WHERE salary >(
- SELECT MAX(salary)
- FROM salaries
- WHERE emp_no IN (
- SELECT emp_no
- FROM dept_emp
- WHERE dept_no='d009')))
- -- Datos de las asignaturas que no tengan alumnos.
- SELECT DISTINCT COD
- FROM ASIGNATURAS A
- WHERE NOT EXISTS
- (SELECT * FROM NOTAS N WHERE A.COD=N.COD)
- -- Nombre y apellidos de los alumnos que tengan notas en la asignatura con código 1.
- SELECT APENOM
- FROM ALUMNOS
- WHERE DNI IN(SELECT DNI FROM NOTAS WHERE COD=1)
- -- Nombres y apellidos que no tengan notas en la asignatura con codigo 1.
- SELECT APENOM
- FROM ALUMNOS
- WHERE DNI NOT IN(SELECT DNI FROM NOTAS WHERE COD=1)
- -- Obtener la suma del salario, el salario maximo y el salario minimo de cada departamento
- --BD employees
- SELECT dept_no, SUM(salary) Salario_Total, MAX(salary) Salario_Máximo, MIN(salary) Salario_Mínimo
- FROM departments, salaries
- GROUP BY dept_no
- ORDER BY Salario_Total DESC
- -- BD CUTRE
- SELECT DEPT_NO, SUM(SALARIO) Salario_Total, MAX(SALARIO) Salario_Máximo, MIN(SALARIO) Salario_Mínimo
- FROM Empleado
- WHERE DEPT_NO IS NOT NULL
- GROUP BY DEPT_NO
- ORDER BY Salario_Total DESC
- -- Calcula el numero de empleados que realizan cada oficio, en cada departamento, se visualizara departamento, oficio y numero de empleado.
- -- BD CUTRE
- SELECT DEPT_NO, OFICIO, COUNT(*) Empleados
- FROM Empleado
- WHERE DEPT_NO IS NOT NULL AND OFICIO IS NOT NULL
- GROUP BY OFICIO
- -- BD employees
- SELECT D.dept_no, title, COUNT(*) Empleados
- FROM employees E , titles T, dept_emp DE, departments D
- WHERE DE.emp_no=E.emp_no AND D.dept_no=DE.dept_no AND E.emp_no=T.emp_no
- GROUP BY title, D.dept_no
- -- Obtener los departamentos que tengan mas de cuatro personas trabajando.
- --BD employees
- SELECT D.dept_no, COUNT(emp_no)
- FROM departments D, dept_emp DE
- WHERE D.dept_no=DE.dept_no
- GROUP BY dept_no
- --BD CUTRE
- SELECT DEPT_NO
- FROM Empleado
- GROUP BY DEPT_NO
- HAVING COUNT(*)>4
- -- Visualiza por cada oficio de los empleados del departamento ventas, la suma de los salarios.
- --BD EMPLOYEES (CAGATE LORITO)
- SELECT title, SUM(salary)
- FROM titles, salaries
- WHERE titles.emp_no IN (
- SELECT emp_no
- FROM dept_emp
- WHERE dept_no =(
- SELECT dept_no
- FROM departments
- WHERE dept_name='Sales'))AND salaries.emp_no IN (
- SELECT emp_no
- FROM dept_emp
- WHERE dept_no =(
- SELECT dept_no
- FROM departments
- WHERE dept_name='Sales')) AND salaries.emp_no=titles.emp_no
- GROUP BY title
- -- BD CUTRE
- SELECT OFICIO, SUM(SALARIO) Salario_Total
- FROM Empleado
- WHERE DEPT_NO IN(
- SELECT DEPT_NO
- FROM Departamento
- WHERE TIPO='Ventas')
- GROUP BY OFICIO
- -- Apellidos de la tabla EMPLE cuyo salario sea igual a la media del salario en su dpto.
- --BD CUTRE
- SELECT APELLIDO
- FROM Empleado E
- WHERE SALARIO IN (
- SELECT AVG(SALARIO)
- FROM Empleado
- WHERE E.DEPT_NO=Empleado.DEPT_NO
- )
- -- Visualiza el nº de empleados de cada de dpto. cuyo oficio sea empleado.
- --BD CUTRE
- SELECT DEPT_NO, COUNT(*)
- FROM Empleado
- WHERE OFICIO='empleado'
- GROUP BY DEPT_NO
- -- Visualiza el dpto. que tenga más empleados cuyo oficio sea empleado.
- -- BD CUTRE
- SELECT Departamento
- FROM(
- SELECT Departamento, MAX(Cont)
- FROM (
- SELECT COUNT(*) Cont, DEPT_NO Departamento
- FROM Empleado
- WHERE OFICIO='empleado'
- GROUP BY DEPT_NO) A) B
- -- Visualiza el nº del departamento y nombre que tenga más empleados cuyo oficio sea empleado.
- -- Departamentos que tienen más de dos personas trabajando en la misma profesión
- -- Obtén el banco con más sucursales
- -- Saldo actual de los bancos de Gudalajara, debe mostrar nombre del banco, saldo debe, saldo haber.
- -- Datos de la cuenta o cuentas con más movimientos, para mostrar nombre de la cuenta y número de movimientos.
- -- Nombre de la sucursal que haya tenido más suma de reintegros. Para mostrar, nombre de la sucursal y suma de reintegros.
- -- ---------------INSERTS---------------
- -- Insertar un alumno con apellido Martín Gonzalez de nombre Isabel y asignatura Informática.
- INSERT INTO Alumno
- VALUES('Isabel', 'Martín Gonzalez',101,NULL,'Informática')
- -- En alumno, insertar, nombre y apellidos, de los empleados del departamento x.
- INSERT INTO Alumno (Apellido, id)
- SELECT APELLIDO, EMP_NO
- FROM Empleado
- WHERE DEPT_NO=60
Advertisement
Add Comment
Please, Sign In to add comment