Академический Документы
Профессиональный Документы
Культура Документы
CONSULTAS MS COMPLEJAS
e
g
a
u
g
n
La
ry
e
u
Q
d
re
u
ct
u
tr
S
SQL.
CONSULTAS MULTITABLA
En ocasiones necesitamos realizar consultas que
involucren a varias tablas.
En este caso, los nombres de las tablas aparecen a
la derecha de la palabra FROM.
SELECT campo1, campo2, ....
FROM tabla1, tabla2, ....
WHERE condicin de combinacin de las tablas
CONSULTAS MULTITABLA
Se pueden incluir tantas tablas como queramos
En la clusula 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
forma NombreTabla.NombreColumna
CONSULTAS MULTITABLA
El criterio para combinar las tablas ha de
especificarse en la clusula WHERE.
Si no se hace, el resultado es un PRODUCTO
CARTESIANO que empareja todas las filas de
una tabla con cada fila de otra.
EJEMPLOS
Vamos
Vamos a
a realizar
realizar consultas
consultas
sobre
sobre las
las tablas
tablas emple
emple y
y
depart
depart
SQL
Ejemplo de consulta multitabla
SELECT
apellido,oficio,emple.dept_no,dnombre
FROM emple,depart
WHERE emple.dept_no=depart.dept_no AND
emple.dept_no IN (10,20);
SELECT apenom,nombre,nota
FROM
alumnos,asignaturas,notas
WHERE
alumnos.nif=notas.nif AND
asignaturas.cod=notas.cod;
SELECT apenom,nombre,nota
FROM alumnos,asignaturas,notas
CONSULTAS DE
RESUMEN
SQL dispone de una serie de funciones que permiten
realizar clculos sobre determinados campos de
tablas de la base de datos.
Cul es el salario mximo de los empleados del
departamento 10?
Cul es la media de salarios del departamento de
contabilidad?
Cuntos empleados hay en el departamento de
ventas?
CONSULTAS DE
RESUMEN
Funcin
Propsito
AVG(campo)
COUNT(*|expresin)
MAX(campo)
MIN(campo)
SUM(campo)
CONSULTAS DE
RESUMEN. EJEMPLOS
Calcular el salario medio de todos los
empleados
SELECT AVG(salario) FROM emple;
Salario mximo de los empleados del
departamento 10.
SELECT max(salario) FROM emple WHERE
dept_no=10;
CONSULTAS DE
RESUMEN. EJEMPLOS
Nmero de empleados del departamento 10
SELECT COUNT(*) FROM emple WHERE
dept_no=10;
Nmero de filas de la tabla empleados donde la
comisin no es nula
SELECT COUNT(comision) FROM emple
WHERE dept_no=10;
CONSULTAS DE
RESUMEN. EJEMPLOS
Obtener el apellido mnimo de los empleados
del departamento 20.
SELECT min(apellido) FROM emple WHERE
dept_no=20;
Calcular la suma de salarios y el salario medio
de todos los empleados.
SELECT sum(salario),avg(salario) FROM
emple;