sql consultas complejas
CONSULTAS MÁS COMPLEJAS
e
g
a
u
g
n
a
L
ry
e
u
Q
d
re
tu
c
u
tr
S
SQL.
CONSULTAS
MULTITABLA
En ocasiones necesitamos realizar consultas
que involucren a varias tablas.
En este caso, losnombres de las tablas
aparecen a la derecha de la palabra FROM.
SELECT campo1, campo2, ....
FROM tabla1, tabla2, ....
WHERE condición de combinación de las
tablas
CONSULTAS
MULTITABLA
Se pueden incluirtantas tablas como
queramos
En la cláusula SELECT se pueden citar
columnas de todas las tablas
Si hay columnas con el mismo nombre en
las distintas tablas, se deben especificar
de la formaNombreTabla.NombreColumna
CONSULTAS
MULTITABLA
El criterio para combinar las tablas ha de
especificarse en la cláusula WHERE.
Si no se hace, el resultado es un
PRODUCTO CARTESIANO que empareja
todas lasfilas de una tabla con cada fila
de otra.
EJEMPLOS
Vamos
Vamos a
a realizar
realizar
consultas
consultas sobre
sobre las
las tablas
tablas
emple
y
depart
emple y depart
CONSULTAS
MULTITABLA.EJEMPLOS
Apellidos, oficio, nombre de departamento
y localidad de todos los empleados.
SELECT apellido,oficio,dnombre,loc
FROM emple,depart
WHERE emple.dept_no=depart.dept_no;
SQL
Ejemplo deconsulta multitabla
CONSULTAS
MULTITABLA.
EJEMPLOS
Apellido, oficio, número de departamento
y nombre de departamento de los
empleados de los departamentos
10 ó 20.
dept_no aparece en dos
tablas, portanto hay
que especificar antes el
nombre de la tabla
SELECT
apellido,oficio,emple.dept_no,dnombre
FROM emple,depart
WHERE emple.dept_no=depart.dept_no
AND emple.dept_no IN (10,20);
CONSULTASMULTITABLA.
EJEMPLOS
¿Qué ocurre si no se especifica el criterio de
combinación de tablas?
En este caso el resultado es un producto cartesiano
que combina todas las filas de una tabla con los de
la otraSELECT apellido, emple.dept_no, dnombre
FROM emple,depart;
En el resultado de la consulta tendríamos
16*4=64 filas, en lugar de 14
CONSULTAS
MULTITABLA.
EJEMPLOS
Tenemos las siguientes tablas:...
Regístrate para leer el documento completo.