Title | SQL - Practica en lenguaje SQL |
---|---|
Course | Análisis de datos I |
Institution | Universidad de Deusto |
Pages | 18 |
File Size | 74.5 KB |
File Type | |
Total Downloads | 12 |
Total Views | 202 |
Practica en lenguaje SQL...
SQL> DESC EMP Nombre
¿Nulo? Tipo
----------------------------------------- -------- ---------------------------EMP_NO
NOT NULL NUMBER(4)
APELLIDO
VARCHAR2(16)
OFICIO DIR
VARCHAR2(10) NUMBER(4)
FECHA_ALT
DATE
SALARIO
NUMBER(9)
COMISION
NUMBER(9)
DEPT_NO
NUMBER(2)
SQL> SELECT * FROM EMP WHERE SALARIO > 185000 AND OFICIO LIKE 'VENDEDOR';
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7499 ARROYO
VENDEDOR
7698 20/02/81
208000
39000
30
7844 TOVAR
VENDEDOR
7698 08/09/81
195000
0
30
SQL> SELECT * FROM EMP WHERE SALARIO > 185000 INTERSECT SELECT * FROM EMP WHERE OFICIO LIKE 'VENDEDOR';
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO
---------7499 ARROYO
VENDEDOR
7698 20/02/81
208000
39000
30
7844 TOVAR
VENDEDOR
7698 08/09/81
195000
0
30
SQL> SELECT * FROM EMP WHERE SALARIO < 185000 MINUS SELECT * FROM EMP WHERE OFICIO LIKE 'VENDEDOR';
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7369 SANCHEZ
EMPLEADO
7902 17/12/80
104000
EMPLEADO
7788 03/05/87
143000
EMPLEADO
7698 03/12/81
123500
20
7876 ALONSO 20
7900 JIMENO 30
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7934 MUNOZ 10
EMPLEADO
7782 23/01/82
169000
SQL> SELECT * FROM EMP WHERE OFICIO LIKE 'VENDEDOR' MINUS SELECT * FROM EMP WHERE SALARIO < 185000;
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7499 ARROYO
VENDEDOR
7698 20/02/81
208000
39000
30
7844 TOVAR
VENDEDOR
7698 08/09/81
195000
0
30
SQL> SELECT * FROM EMP WHERE OFICIO LIKE 'DIRECTOR' UNION SELECT * FROM EMP WHERE COMISION > 0;
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7499 ARROYO
VENDEDOR
7698 20/02/81
208000
39000
30
7521 SALA
VENDEDOR
7698 22/02/81
162500
DIRECTOR
7839 02/04/81
386750
30
7566 JIMENEZ 20
65000
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7654 MARTIN
VENDEDOR
7698 28/09/81
182000
182000
30
7698 NEGRO
DIRECTOR
7839 01/05/81
370500
DIRECTOR
7839 09/06/81
318500
30
7782 CEREZO 10
6 filas seleccionadas.
SQL> SELECT * FROM EMP WHERE OFICIO LIKE 'DIRECTOR' OR COMISION > 0;
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7499 ARROYO
VENDEDOR
7698 20/02/81
208000
39000
30
7521 SALA
VENDEDOR
7698 22/02/81
162500
DIRECTOR
7839 02/04/81
386750
30
7566 JIMENEZ 20
65000
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7654 MARTIN
VENDEDOR
7698 28/09/81
182000
182000
30
7698 NEGRO
DIRECTOR
7839 01/05/81
370500
DIRECTOR
7839 09/06/81
318500
30
7782 CEREZO 10
6 filas seleccionadas.
SQL> SELECT * FROM EMP WHERE OFICIO LIKE 'DIRECTOR' OR COMISION IS NOT NULL;
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7499 ARROYO
VENDEDOR
7698 20/02/81
208000
39000
30
7521 SALA
VENDEDOR
7698 22/02/81
162500
DIRECTOR
7839 02/04/81
386750
30
7566 JIMENEZ
65000
20
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7654 MARTIN
VENDEDOR
7698 28/09/81
182000
182000
30
7698 NEGRO
DIRECTOR
7839 01/05/81
370500
DIRECTOR
7839 09/06/81
318500
30
7782 CEREZO 10
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7844 TOVAR
VENDEDOR
7698 08/09/81
195000
0
30
7 filas seleccionadas.
SQL> SELECT APELLIDO FROM EMP WHERE SALARIO > SELECT SALARIO FROM EMP WHERE APELLIDO LIKE 'FERNANDEZ'; SELECT APELLIDO FROM EMP WHERE SALARIO > SELECT SALARIO FROM EMP WHERE APELLIDO LIKE 'FERNANDEZ' *
ERROR en línea 1: ORA-00936: falta una expresión
SQL> SELECT APELLIDO FROM EMP WHERE SALARIO > (SELECT SALARIO FROM EMP WHERE APELLIDO LIKE 'FERNANDEZ');
APELLIDO ---------------REY
SQL> SELECT APELLIDO FROM DOCTOR WHERE (SELECT NUM_CAMA FROM HOSPITAL) > 600; SELECT APELLIDO FROM DOCTOR WHERE (SELECT NUM_CAMA FROM HOSPITAL) > 600 * ERROR en línea 1: ORA-01427: la subconsulta de una sola fila devuelve más de una fila
SQL> SELECT APELLIDO FROM DOCTOR WHERE (SELECT NUM_CAMA FROM HOSPITAL WHERE NUM_CAMA > 600); SELECT APELLIDO FROM DOCTOR WHERE (SELECT NUM_CAMA FROM HOSPITAL WHERE NUM_CAMA > 600) * ERROR en línea 1: ORA-00936: falta una expresión
SQL> SELECT APELLIDO FROM DOCTOR, HOSPITAL WHERE NUM_CAMA > 600;
APELLIDO ---------------LOPEZ A.
MILLER G. CAJAL R. GALO D. BEST K. CABEZA D. NINO P. ADAMS C. LOPEZ A. MILLER G. CAJAL R.
APELLIDO ---------------GALO D. BEST K. CABEZA D. NINO P. ADAMS C.
16 filas seleccionadas.
SQL> SELECT DISTINCT(APELLIDO) FROM DOCTOR, HOSPITAL WHERE NUM_CAMA > 600;
APELLIDO ---------------BEST K. CABEZA D. ADAMS C. MILLER G. NINO P. LOPEZ A.
CAJAL R. GALO D.
8 filas seleccionadas.
SQL> SELECT APELLIDO FROM EMP, DEPT WHERE DNOMBRE LIKE 'VENTAS';
APELLIDO ---------------SANCHEZ ARROYO SALA JIMENEZ MARTIN NEGRO CEREZO GIL REY TOVAR ALONSO
APELLIDO ---------------JIMENO FERNANDEZ MUNOZ
14 filas seleccionadas.
SQL> SELECT APELLIDO FROM EMP;
APELLIDO ---------------SANCHEZ ARROYO SALA JIMENEZ MARTIN NEGRO CEREZO GIL REY TOVAR ALONSO
APELLIDO ---------------JIMENO FERNANDEZ MUNOZ
14 filas seleccionadas.
SQL> SELECT APELLIDO FROM DOCTOR WHERE HOSPITAL_COD IN (SELECT HOSPITAL_COD FROM HOSPITAL WHERE NUM_CAMA > 600);
APELLIDO ---------------MILLER G. CAJAL R. NINO P. ADAMS C.
SQL> SELECT APELLIDO FROM EMP WHERE DEPT_NO IN (SELECT DEPT_NO FROM DEPT WHERE DNOMBRE LIKE 'VENTAS');
APELLIDO ---------------ARROYO SALA MARTIN NEGRO TOVAR JIMENO
6 filas seleccionadas.
SQL> SELECT APELLIDO FROM EMP, DEPT WHERE EMP.DEPT_NO = DEPT.DEPT_NO AND DNOMBRE LIKE 'VENTAS';
APELLIDO ---------------ARROYO SALA MARTIN NEGRO TOVAR JIMENO
6 filas seleccionadas.
SQL> SELECT APELLIDO FROM ENFERMO, DOCTOR WHERE ENFERMO.DOCTOR_NO = DOCTOR.DOCTOR_NO AND ESPECIALIDAD LIKE 'PEDIATRIA';
SELECT APELLIDO FROM ENFERMO, DOCTOR WHERE ENFERMO.DOCTOR_NO = DOCTOR.DOCTOR_NO AND ESPECIALIDAD LIKE 'PEDIATRIA' * ERROR en línea 1: ORA-00918: columna definida de forma ambigua
SQL> SELECT ENFERMO.APELLIDO FROM ENFERMO, DOCTOR WHERE ENFERMO.DOCTOR_NO = DOCTOR.DOCTOR_NO AND ESPECIALIDAD LIKE 'PEDIATRIA';
APELLIDO -----------SERRANO V. NEAL R. BENITEZ E.
SQL> SELECT APELLIDO FROM ENFERMO WHERE DOCTOR_NO = (SELECT DOCTOR_NO FROM DOCTOR WHERE ESPECIALIDAD LIKE 'PEDIATRIA'); SELECT APELLIDO FROM ENFERMO WHERE DOCTOR_NO = (SELECT DOCTOR_NO FROM DOCTOR WHERE ESPECIALIDAD LIKE 'PEDIATRIA') * ERROR en línea 1: ORA-01427: la subconsulta de una sola fila devuelve más de una fila
SQL> SELECT APELLIDO FROM ENFERMO WHERE DOCTOR_NO IN (SELECT DOCTOR_NO FROM DOCTOR WHERE ESPECIALIDAD LIKE 'PEDIATRIA');
APELLIDO -----------SERRANO V. NEAL R. BENITEZ E.
SQL> SELECT APELLIDO FROM PLANTILLA WHERE SALARIO > (SELECT AVG(SALARIO) FROM PLANTILLA);
APELLIDO ---------------HERNANDEZ J. KARPLUS W. FRANK H.
SQL> SELECT APELLIDO, OFICIO FROM EMP E INNER JOIN DEPT D 2 SQL> ; 1* SELECT APELLIDO, OFICIO FROM EMP E INNER JOIN DEPT D SQL> SELECT APELLIDO FROM PLANTILLA WHERE DEPT_NO = 20 AND OFICIO IN (SELECT OFICIO FROM DEPT WHERE DNOMBRE LIKE 'VENTAS'); SELECT APELLIDO FROM PLANTILLA WHERE DEPT_NO = 20 AND OFICIO IN (SELECT OFICIO FROM DEPT WHERE DNOMBRE LIKE 'VENTAS') * ERROR en línea 1: ORA-00904: "OFICIO": identificador no válido
SQL> SELECT APELLIDO FROM EMP WHERE DEPT_NO = 20 AND OFICIO IN (SELECT OFICIO FROM DEPT WHERE DNOMBRE LIKE 'VENTAS');
APELLIDO ---------------SANCHEZ JIMENEZ GIL ALONSO
FERNANDEZ
SQL> SELECT APELLIDO, OFICIO FROM EMP WHERE DEPT_NO = 20 AND OFICIO IN (SELECT OFICIO FROM DEPT WHERE DNOMBRE LIKE 'VENTAS');
APELLIDO
OFICIO
---------------- ---------SANCHEZ
EMPLEADO
JIMENEZ
DIRECTOR
GIL
ANALISTA
ALONSO FERNANDEZ
EMPLEADO ANALISTA
SQL> SELECT DISTINCT(APELLIDO) FROM EMP, DEPT WHERE LOC IN(BARCELONA, MADRID) ORDER BY APELLIDO ASC; SELECT DISTINCT(APELLIDO) FROM EMP, DEPT WHERE LOC IN(BARCELONA, MADRID) ORDER BY APELLIDO ASC * ERROR en línea 1: ORA-00904: "MADRID": identificador no válido
SQL> SELECT DISTINCT(APELLIDO) FROM EMP, DEPT WHERE LOC IN('BARCELONA', 'MADRID') ORDER BY APELLIDO ASC;
APELLIDO ---------------ALONSO ARROYO CEREZO FERNANDEZ GIL
JIMENEZ JIMENO MARTIN MUNOZ NEGRO REY
APELLIDO ---------------SALA SANCHEZ TOVAR
14 filas seleccionadas.
SQL> SELECT APELLIDO EMP, DEPT WHERE EMP.DEPT_NO = DEPT.DEPT_NO WHERE LOC IN ('BARCELONA', 'MADRID') ORDER BY APELLIDO ASC; SELECT APELLIDO EMP, DEPT WHERE EMP.DEPT_NO = DEPT.DEPT_NO WHERE LOC IN ('BARCELONA', 'MADRID') ORDER BY APELLIDO ASC * ERROR en línea 1: ORA-00923: palabra clave FROM no encontrada donde se esperaba
SQL> SELECT APELLIDO FROM EMP, DEPT WHERE EMP.DEPT_NO = DEPT.DEPT_NO WHERE LOC IN ('BARCELONA', 'MADRID') ORDER BY APELLIDO ASC; SELECT APELLIDO FROM EMP, DEPT WHERE EMP.DEPT_NO = DEPT.DEPT_NO WHERE LOC IN ('BARCELONA', 'MADRID') ORDER BY APELLIDO ASC * ERROR en línea 1: ORA-00933: comando SQL no terminado correctamente
SQL> SELECT APELLIDO FROM EMP, DEPT WHERE EMP.DEPT_NO = DEPT.DEPT_NO WHERE LOC IN ('BARCELONA', 'MADRID') ORDER BY APELLIDO ASC; SELECT APELLIDO FROM EMP, DEPT WHERE EMP.DEPT_NO = DEPT.DEPT_NO WHERE LOC IN ('BARCELONA', 'MADRID') ORDER BY APELLIDO ASC * ERROR en línea 1: ORA-00933: comando SQL no terminado correctamente
SQL> SELECT APELLIDO FROM EMP, DEPT WHERE EMP.DEPT_NO = DEPT.DEPT_NO AND LOC IN ('BARCELONA', 'MADRID') ORDER BY APELLIDO ASC;
APELLIDO ---------------ALONSO ARROYO FERNANDEZ GIL JIMENEZ JIMENO MARTIN NEGRO SALA SANCHEZ TOVAR
11 filas seleccionadas.
SQL> SELECT * FROM EMP WHERE OFICIO, SALARIO LIKE (SELECT OFICIO, SALARIO FROM EMP WHERE APELLIDO LIKE 'JIMENEZ'); SELECT * FROM EMP WHERE OFICIO, SALARIO LIKE (SELECT OFICIO, SALARIO FROM EMP WHERE APELLIDO LIKE 'JIMENEZ')
* ERROR en línea 1: ORA-00920: operador relacional no válido
SQL> SELECT * FROM EMP WHERE (OFICIO, SALARIO) LIKE (SELECT OFICIO, SALARIO FROM EMP WHERE APELLIDO LIKE 'JIMENEZ'); SELECT * FROM EMP WHERE (OFICIO, SALARIO) LIKE (SELECT OFICIO, SALARIO FROM EMP WHERE APELLIDO LIKE 'JIMENEZ') * ERROR en línea 1: ORA-00920: operador relacional no válido
SQL> SELECT * FROM EMP WHERE (OFICIO, SALARIO) IN (SELECT OFICIO, SALARIO FROM EMP WHERE APELLIDO LIKE 'JIMENEZ');
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7566 JIMENEZ
DIRECTOR
7839 02/04/81
386750
20
SQL> SELECT * FROM EMP WHERE (OFICIO, SALARIO) ANY (SELECT OFICIO, SALARIO FROM EMP WHERE APELLIDO LIKE 'JIMENEZ'); SELECT * FROM EMP WHERE (OFICIO, SALARIO) ANY (SELECT OFICIO, SALARIO FROM EMP WHERE APELLIDO LIKE 'JIMENEZ') * ERROR en línea 1: ORA-00920: operador relacional no válido
SQL> SELECT * FROM EMP WHERE (OFICIO, SALARIO) = (SELECT OFICIO, SALARIO FROM EMP WHERE APELLIDO LIKE 'JIMENEZ');
EMP_NO APELLIDO
OFICIO
DIR FECHA_AL SALARIO COMISION
---------- ---------------- ---------- ---------- -------- ---------- ---------DEPT_NO ---------7566 JIMENEZ
DIRECTOR
7839 02/04/81
386750
20
SQL> SELECT APELLIDO, OFICIO FROM EMP WHERE SALARIO > (SELECT MAX(SALARIO) FROM EMP WHERE DEPT_NO = 30);
APELLIDO
OFICIO
---------------- ---------JIMENEZ
DIRECTOR
GIL
ANALISTA
REY
PRESIDENTE
FERNANDEZ
ANALISTA
SQL> SPOOL OFF...