Escolar Documentos
Profissional Documentos
Cultura Documentos
Consultas
3 parte
referencias_tablas:
referencia_tabla[, referencia_tabla] ...
SQL1
referencia_tabla:
nombre_tabla [[AS] alias]
SQL2
referencias_tablas:
referencia_tabla [, referencia_tabla] ...
referencia_tabla:
nombre_tabla [[AS] alias]
Consiste en el producto cartesiano de las tablas que es la
combinacin de las filas de una tabla unidas a las filas de las
otras.
A
simple
vista,
observamos que Matas
no tiene mascota
Join Interna
De equivalencia (INNER JOIN)
Natural (NATURAL JOIN)
Join Externa
De tabla izquierda (LEFT [OUTER] JOIN)
De tabla derecha (RIGHT [OUTER] JOIN)
Completa (FULL [OUTER] JOIN)
+--------+----------+-------+-------------+
| codigo | nombre
| tipo | propietario |
+--------+----------+-------+-------------+
|
1 | Cloncho | gato | 51993482Y
|
|
2 | Yoda
| gato | 51993482Y
|
|
3 | Sprocket | perro | 37276317Z
|
|
4 | Arco
| perro | NULL
|
+--------+----------+-------+-------------+
SELECT Empleados.CodigoEmpleado,
Empleados.Nombre,
CodigoOficina, Oficinas.Ciudad
FROM Empleados NATURAL JOIN Oficinas;
+----------------+-----------------+---------------+----------------------+
| CodigoEmpleado | Nombre
| CodigoOficina | Ciudad
|
+----------------+-----------------+---------------+----------------------+
|
1 | Marcos
| TAL-ES
| Talavera de la Reina |
|
2 | Ruben
| TAL-ES
| Talavera de la Reina |
....
|
31 | Mariko
| SYD-AU
| Sydney
|
+----------------+-----------------+---------------+----------------------+
+--------+----------+-------+-------------+-----------+--------------------+
| codigo | nombre
| tipo | propietario | dni
| nombre
|
+--------+----------+-------+-------------+-----------+--------------------+
|
1 | Cloncho | gato | 51993482Y
| 51993482Y | Jos Prez
|
|
2 | Yoda
| gato | 51993482Y
| 51993482Y | Jos Prez
|
|
NULL | NULL
| NULL | NULL
| 2883477X | Matas Fernndez
|
|
3 | Sprocket | perro | 37276317Z
| 37276317Z | Francisco Martnez |
+--------+----------+-------+-------------+-----------+--------------------+
UNION
SELECT * FROM animales RIGHT OUTER JOIN propietarios
ON animales.propietario = propietarios.dni;
+--------+----------+-------+-------------+-----------+--------------------+
| codigo | nombre
| tipo | propietario | dni
| nombre
|
+--------+----------+-------+-------------+-----------+--------------------+
|
1 | Cloncho | gato | 51993482Y
| 51993482Y | Jos Prez
|
|
2 | Yoda
| gato | 51993482Y
| 51993482Y | Jos Prez
|
|
3 | Sprocket | perro | 37276317Z
| 37276317Z | Francisco Martnez |
|
4 | Arco
| perro | NULL
| NULL
| NULL
|
|
NULL | NULL
| NULL | NULL
| 2883477X | Matas Fernndez
|
+--------+----------+-------+-------------+-----------+--------------------+
SELECT
concat(concat(emp.Nombre,' '),emp.Apellido1) as Empleado,
concat(concat(jefe.Nombre,' '),jefe.Apellido1) as EsJefeDe
Alias 1
Alias 1
SELECT * FROM
es obligatorio)
(SELECT CodigoEmpleado, Nombre
FROM Empleados
WHERE CodigoOficina='TAL-ES') tabla_derivada;
+-------+--------------+
| total | CodigoPedido |
+-------+--------------+
| 1567 |
1 |
| 7113 |
2 |
| 10850 |
3 |
....
|
154 |
117 |
|
51 |
128 |
+-------+--------------+