Está en la página 1de 4

Ejercicios SQL:

 1. Obtener la descripción de la tabla DEPART

SQL> DESC DEPART


Nombre ┐ Nulo Tipo
----------------------------------------- -------- ----------------------------

DEPT_NO NOT NULL NUMBER(2)


DNOMBRE VARCHAR2(14)
LOC VARCHAR2(14)

 2. Seleccionar nombre, localidad y Nº Departamento de la tabla DEPART

SQL> SELECT DNOMBRE, LOC, DEPT_NO FROM DEPART;

DNOMBRE LOC DEPT_NO


-------------- -------------- ----------
CONTABILIDAD SEVILLA 10
INVESTIGACION MADRID 20
VENTAS BARCELONA 30
PRODUCCION BILBAO 40

 3. Descripción de la tabla EMPLE.

SQL> DESC EMPLE


Nombre ┐ Nulo Tipo
----------------------------------------- -------- ----------------------------

EMP_NO NOT NULL NUMBER(4)


APELLIDO VARCHAR2(10)
OFICIO VARCHAR2(10)
DIR NUMBER(4)
FECHA_ALT DATE
SALARIO NUMBER(7)
COMISION NUMBER(7)
DEPT_NO NOT NULL NUMBER(2)

 4. Seleccionar los empleados del Departamento 30 ordenados por oficio en descendente.

SQL> SELECT APELLIDO FROM EMPLE WHERE DEPT_NO=30 ORDER BY OFICIO DESC;

APELLIDO
----------
ARROYO
SALA
MARTIN
TOVAR
JIMENO
NEGRO

 5. Consulta los empleados cuyo oficio sea empleado, clasificado por numero de empleado en
ascendente y apellido en descendente.

SQL> SELECT APELLIDO FROM EMPLE WHERE OFICIO='EMPLEADO' ORDER BY


EMP_NO, APELLIDO DESC;

APELLIDO
----------
SANCHEZ
ALONSO
JIMENO
MUÐOZ

 6. Descripción de la tabla ALUM0405

SQL> DESC ALUM0405


Nombre ┐ Nulo? Tipo
----------------------------------------- -------- ----------------------------

DNI NOT NULL VARCHAR2(10)


NOMBRE NOT NULL VARCHAR2(15)
APELLIDOS NOT NULL VARCHAR2(20)
FECHA_NAC DATE
DIRECCION VARCHAR2(20)
POBLACION VARCHAR2(20)
PROVINCIA VARCHAR2(20)
CURSO NOT NULL NUMBER(2)
NIVEL NOT NULL VARCHAR2(10)
CLASE NOT NULL CHAR(1)
FALTAS1 NUMBER(2)
FALTAS2 NUMBER(2)
FALTAS3 NUMBER(2)

 7. Sacar los datos de los alumnos que se apellidan Martín o que cursen 2º Curso.

SQL> SELECT * FROM ALUM0405 WHERE APELLIDOS='MARTIN' OR CURSO=2;

DNI NOMBRE APELLIDOS FECHA_NA DIRECCION


---------- --------------- -------------------- -------- --------------------
POBLACION PROVINCIA CURSO NIVEL C FALTAS1
-------------------- -------------------- ---------- ---------- - ----------
FALTAS2 FALTAS3
---------- ----------
34448974N CONCHA ESTRUCH VIDAL 10/11/85 C/ MEDICO FELIX, 12
BERROCALEJO CACERES 2 DAI A 0
0 0

34448999N DORA MARTIN BREÐA 10/11/94 C/ MEDICO FELIX, 10


BERROCALEJO CACERES 1 ESO C 0
0 0

 8. Sacar la descripción de la tabla Notas alumno.

SQL> DESC NOTAS_ALUMNOS


Nombre ┐Nulo? Tipo
----------------------------------------- -------- ----------------------------
NOMBRE_ALUMNO NOT NULL VARCHAR2(25)
NOTA1 NUMBER(2)
NOTA2 NUMBER(2)
NOTA3 NUMBER(2)

 9. Sacar todos los alumnos y sus notas medias de aquellos que tengan una nota media menor que 6 y
clarificarlos con alias de la tabla NOTAS_ALUMNOS.

SQL> SELECT NOMBRE_ALUMNO, (NOTA1+NOTA2+NOTA3)/3 "Nota Media" FROM


NOTAS_ALUMNOS
WHERE (NOTA1+NOTA2+NOTA3)/3<6;

NOMBRE_ALUMNO Nota Media


------------------------- ----------
Alcalde GarcÝa, M. Luisa 5
Casas MartÝnez, Manuel 5,66666667

 10. Sacar los alumnos cuya segunda nota sea menor que 6 y su nota media mayor que 5.

SQL> SELECT NOMBRE_ALUMNO, (NOTA1+NOTA2+NOTA3)/3 "Nota Media" FROM


NOTAS_ALUMNOS
WHERE NOTA2 <6 AND (NOTA1+NOTA2+NOTA3)/3 >5;

NOMBRE_ALUMNO Nota Media


------------------------- ----------
Casas MartÝnez, Manuel 5,66666667

 11. Sacar de la tabla EMPLE, aquellos empleados cuyo apellido empiece por J y termine por O.

SQL> SELECT APELLIDO FROM EMPLE WHERE APELLIDO LIKE 'J%O';

APELLIDO
----------
JIMENO

 12. Sacar los empleados que no cobran comisión y trabajan en el Departamento 10 o 20.

SQL> SELECT APELLIDO FROM EMPLE WHERE COMISION IS NULL AND DEPT_NO
IN(10,20);

APELLIDO
----------
SANCHEZ
JIMENEZ
CEREZO
GIL
REY
ALONSO
FERNANDEZ
MUÐOZ

 13. Sacar los empleados que no son director y trabajan en el departamento 20.
SQL> SELECT APELLIDO FROM EMPLE WHERE OFICIO NOT IN ('DIRECTOR') AND
DEPT_NO=20;

APELLIDO
----------
SANCHEZ
GIL
ALONSO
FERNANDEZ

 14. Sacar los Vendedores cuya comisión es superior a 40.000€.

SQL> SELECT APELLIDO FROM EMPLE WHERE COMISION >40000;

Ninguna fila seleccionada

15 De la tabla empleados sacar el apellido de los empleados del departamento 20 o 30 cuyo oficio sea
vendedor.

SQL> SELECT APELLIDO FROM EMPLE WHERE DEPT_NO IN (20, 30) AND OFICIO='VE
NDEDOR';

APELLIDO
----------
ARROYO
SALA
MARTIN
TOVAR

16 De la tabla empleados sacar el oficio y apellido de los empleados que trabajan en el departamento 40 o
ganen menos de 2000 euros.

SQL> SELECT APELLIDO, OFICIO FROM EMPLE WHERE DEPT_NO=40 OR SALARIO <2000;

APELLIDO OFICIO
---------- ----------
SANCHEZ EMPLEADO
ARROYO VENDEDOR
SALA VENDEDOR
MARTIN VENDEDOR
TOVAR VENDEDOR
ALONSO EMPLEADO
JIMENO EMPLEADO
MUÐOZ EMPLEADO

17 De la tabla empleados sacar el oficio y el apellido que trabajan en el departamento 40 y ganan menos de
2000 euros.

SQL> SELECT APELLIDO, OFICIO FROM EMPLE WHERE DEPT_NO=40 AND SALARIO <2000;

ninguna fila seleccionada

También podría gustarte