Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Consultas de Datos 1
Consultas de Datos 1
La consulta de datos se hace a travs de la sentencia SELECT que tiene la siguiente estructura:
SELECT columnas FROM tablas WHERE condiciones;
La consulta ms sencilla es mostrar los valores de una o varias columnas de una sola tabla, como por ejemplo:
Supongamos que las tabla originales contienen los datos:
DEPART
DEPT_NO
10
20
30
40
EMPLE
EMP_NO
7369
7499
7521
7566
7654
7698
7782
7788
7839
7844
7876
7900
7902
7934
NOMBRE
CONTABILIDAD
INVESTIGACION
VENTAS
PRODUCCION
APELLIDO
SANCHEZ
ARROYO
SALA
JIMENEZ
MARTIN
NEGRO
CEREZO
GIL
REY
TOVAR
ALONSO
JIMENO
FDEZ
MUOZ
OFICIO
EMPLEADO
VENDEDOR
VENDEDOR
DIRECTOR
VENDEDOR
DIRECTOR
DIRECTOR
ANALISTA
PRESIDENTE
VENDEDOR
EMPLEADO
EMPLEADO
ANALISTA
EMPLEADO
DIR
7902
7698
7698
7839
7698
7839
7839
7566
7698
7788
7698
7566
7782
LOC
SEVILLA
MADRID
BARCELONA
BILBAO
FECHA_ALT
17-12-1990
20-02-1990
22-02-1991
02-04-1991
29-09-1991
01-05-1991
09-06-1991
09-11-1991
17-11-1991
08-09-1991
23-09-1991
03-12-1991
03-12-1991
23-01-1992
SALARIO
1040
1500
1625
2900
1600
3005
2885
3000
4100
1350
1430
1335
3000
1690
COMISION
0
390
650
1020
DEPT_NO
20
30
30
20
30
30
10
20
10
30
20
30
20
10
FECHA_ALT
17-12-1990
20-02-1990
22-02-1991
02-04-1991
29-09-1991
01-05-1991
09-06-1991
09-11-1991
17-11-1991
08-09-1991
23-09-1991
03-12-1991
03-12-1991
23-01-1992
SALARIO
1040
1500
1625
2900
1600
3005
2885
3000
4100
1350
1430
1335
3000
1690
COMISION DEPT_NO
20
390
30
650
30
20
1020
30
30
10
20
10
30
20
30
20
10
Los campos tambin pueden ser referenciados por su nombre completo, que es NombreTabla.NombreCampo,
es decir, la sentencia:
SELECT Empl.Apellido FROM Emple;
Es la misma que: SELECT Apellido FROM Emple;
Y SELECT Empl.* FROM Emple;
Es la misma que : SELECT * FROM Emple;
CONDICION DE LA SELECCION
La seleccin de datos puede hacer de forma condicionada de la siguiente forma:
SELECT * FROM Emple WHERE Oficio=VENDEDOR;
EMP_NO
7499
7521
7654
7844
APELLIDO
ARROYO
SALA
MARTIN
TOVAR
OFICIO
VENDEDOR
VENDEDOR
VENDEDOR
VENDEDOR
DIR
7698
7698
7698
7698
FECHA_ALT
20-02-1990
22-02-1991
29-09-1991
08-09-1991
SALARIO
1500
1625
1600
1350
COMISION
390
650
1020
DEPT_NO
30
30
30
30
En el nombre de los campos y las tablas , no distingue entre maysculas y minsculas, pero en el valor de los
datos si, adems hay que tener en cuenta que los datos VARCHAR y DATE van entre comillas simples,
mientras que los nmeros no llevan entrecomillado.
SELECT * FROM Emple WHERE Oficio=vendedor;
EMP_NO APELLIDO OFICIO
DIR
FECHA_ALT SALARIO COMISION DEPT_NO
APELLIDO
JIMENEZ
NEGRO
CEREZO
GIL
REY
FDEZ
OFICIO
DIRECTOR
DIRECTOR
DIRECTOR
ANALISTA
PRESIDENTE
ANALISTA
DIR
7839
7839
7839
7566
7566
FECHA_ALT
02-04-1991
01-05-1991
09-06-1991
09-11-1991
17-11-1991
03-12-1991
APELLIDO
JIMENO
FDEZ
MUOZ
OFICIO
EMPLEADO
ANALISTA
EMPLEADO
DIR
7698
7566
7782
FECHA_ALT
03-12-1991
03-12-1991
23-01-1992
EMP_NO
7566
7782
7788
7902
APELLIDO
JIMENEZ
CEREZO
GIL
FDEZ
OFICIO
DIRECTOR
DIRECTOR
ANALISTA
ANALISTA
DIR
7839
7839
7566
7566
FECHA_ALT
02-04-1991
09-06-1991
09-11-1991
03-12-1991
Para seleccionar los campos en blanco, es decir que no contengan valores se hace de forma:
SELECT * FROM Emple WHERE Comision IS NULL;
EMP_NO
7566
7698
7782
7788
7839
7844
7876
7900
7902
7934
APELLIDO
JIMENEZ
NEGRO
CEREZO
GIL
REY
TOVAR
ALONSO
JIMENO
FDEZ
MUOZ
OFICIO
DIRECTOR
DIRECTOR
DIRECTOR
ANALISTA
PRESIDENTE
VENDEDOR
EMPLEADO
EMPLEADO
ANALISTA
EMPLEADO
DIR
7839
7839
7839
7566
7698
7788
7698
7566
7782
FECHA_ALT
02-04-1991
01-05-1991
09-06-1991
09-11-1991
17-11-1991
08-09-1991
23-09-1991
03-12-1991
03-12-1991
23-01-1992
APELLIDO
SANCHEZ
ARROYO
SALA
MARTIN
OFICIO
EMPLEADO
VENDEDOR
VENDEDOR
VENDEDOR
DIR
7902
7698
7698
7698
FECHA_ALT
17-12-1990
20-02-1990
22-02-1991
29-09-1991
SALARIO
1040
1500
1625
1600
COMISION
0
390
650
1020
DEPT_NO
20
30
30
30
Muestra los apellidos que empiezan por una letra culaquiera, el segundo caracter es una A y luego contiene un
grupos cualquiera de letras.
SELECT * FROM Emple WHERE Apellido LIKE %A%
EMP_NO APELLIDO OFICIO
DIR
FECHA_ALT SALARIO COMISION
7369
SANCHEZ
EMPLEADO 7902 17-12-1990
1040
7521
SALA
VENDEDOR 7698 22-02-1991
1625
650
7654
MARTIN
VENDEDOR 7698 29-09-1991
1600
1020
7844
TOVAR
VENDEDOR 7698 08-09-1991
1350
Fijate que no muestra ni ARROYO ni ALONSO, pues no contiene A en las posiciones del medio.
DEPT_NO
20
30
30
30
COMISION
0
390
650
1020
DEPT_NO
20
30
30
20
30
30
10
30
20
30
DIR
7698
7698
APELLIDO
ARROYO
SALA
JIMENEZ
MARTIN
NEGRO
CEREZO
GIL
REY
TOVAR
JIMENO
FDEZ
OFICIO
VENDEDOR
VENDEDOR
DIRECTOR
VENDEDOR
DIRECTOR
DIRECTOR
ANALISTA
PRESIDENTE
VENDEDOR
EMPLEADO
ANALISTA
DIR
7698
7698
7839
7698
7839
7839
7566
7698
7698
7566
FECHA_ALT
20-02-1990
22-02-1991
02-04-1991
29-09-1991
01-05-1991
09-06-1991
09-11-1991
17-11-1991
08-09-1991
03-12-1991
03-12-1991
SALARIO
1500
1625
2900
1600
3005
2885
3000
4100
1350
1335
3000
COMISION DEPT_NO
390
30
650
30
20
1020
30
30
10
20
10
30
30
20
7934
MUOZ
EMPLEADO
7782
23-01-1992
1690
10
CLAUSULA DISTINCT
Se usa para no mostrar filas repetidas:
SELECT DISTINCT Oficio FROM Emple;
OFICIO
EMPLEADO
VENDEDOR
DIRECTOR
ANALISTA
PRESIDENTE
CLAUSULA ORDER BY
Se aade al final de la consulta, y sirve para ordenar las filas por un determinado campo.
SELECT * FROM Emple ORDER BY Oficio;
EMP_NO
7788
7902
7566
7698
7782
7369
7876
7900
7934
7839
7654
7499
7521
7844
APELLIDO
GIL
FDEZ
JIMENEZ
NEGRO
CEREZO
SANCHEZ
ALONSO
JIMENO
MUOZ
REY
MARTIN
ARROYO
SALA
TOVAR
OFICIO
ANALISTA
ANALISTA
DIRECTOR
DIRECTOR
DIRECTOR
EMPLEADO
EMPLEADO
EMPLEADO
EMPLEADO
PRESIDENTE
VENDEDOR
VENDEDOR
VENDEDOR
VENDEDOR
DIR
7566
7566
7839
7839
7839
7902
7788
7698
7782
SALARIO
3000
3000
2900
3005
2885
1040
1430
1335
1690
4100
1600
1500
1625
1350
COMISION DEPT_NO
20
20
20
30
10
20
20
30
10
10
1020
30
390
30
650
30
30
COMISION DEPT_NO
20
10
20
20
30
10
1020
30
390
30
650
30
30
7698
7698
7698
7698
FECHA_ALT
09-11-1991
03-12-1991
02-04-1991
01-05-1991
09-06-1991
17-12-1990
23-09-1991
03-12-1991
23-01-1992
17-11-1991
29-09-1991
20-02-1990
22-02-1991
08-09-1991