Se utiliza en SQL-SERVER para realizar consultas de unión. Supongamos que tenemos una tabla con todos los autores y otra con todos los libros. Si deseáramos obtener un listado combinar ambas tablas de tal forma que cada autor apareciera junto a cada título, utilizaríamos la siguiente sintaxis:
SELECT
Autores.Nombre, Libros.Titulo
FROM
Autores CROSS JOIN Libros
SELF JOIN es una técnica empleada para conseguir el producto cartesiano de una tabla consigo misma. Su utilización no es muy frecuente, pero pongamos algún ejemplo de su utilización.
Supongamos la siguiente tabla (El campo autor es numérico, aunque para ilustrar el ejemplo utilice el nombre):
Autores | |
Código (Código del libro) | Autor (Nombre del Autor) |
B0012 | 1. Francisco López |
B0012 | 2. Javier Alonso |
B0012 | 3. Marta Rebolledo |
C0014 | 1. Francisco López |
C0014 | 2. Javier Alonso |
D0120 | 2. Javier Alonso |
D0120 | 3. Marta Rebolledo |
Queremos obtener, para cada libro, parejas de autores:
SELECT
A.Codigo, A.Autor, B.Autor
FROM
Autores A, Autores B
WHERE
A.Codigo = B.Codigo
El resultado es el siguiente:
Código | Autor | Autor |
B0012 | 1. Francisco López | 1. Francisco López |
B0012 | 1. Francisco López | 2. Javier Alonso |
B0012 | 1. Francisco López | 3. Marta Rebolledo |
B0012 | 2. Javier Alonso | 2. Javier Alonso |
B0012 | 2. Javier Alonso | 1. Francisco López |
B0012 | 2. Javier Alonso | 3. Marta Rebolledo |
B0012 | 3. Marta Rebolledo | 3. Marta Rebolledo |
B0012 | 3. Marta Rebolledo | 2. Javier Alonso |
B0012 | 3. Marta Rebolledo | 1. Francisco López |
C0014 | 1. Francisco López | 1. Francisco López |
C0014 | 1. Francisco López | 2. Javier Alonso |
C0014 | 2. Javier Alonso | 2. Javier Alonso |
C0014 | 2. Javier Alonso | 1. Francisco López |
D0120 | 2. Javier Alonso | 2. Javier Alonso |
D0120 | 2. Javier Alonso | 3. Marta Rebolledo |
D0120 | 3. Marta Rebolledo | 3. Marta Rebolledo |
D0120 | 3. Marta Rebolledo | 2. Javier Alonso |
1. Curso de MySQL con PHP El gestor de bases de datos MySQL se basa en el sistema de bases de datos... [10/01/11] |
1.754 | ||||
2. Introducción al lenguaje SQL Curso de programación, aprende el lenguaje sql que es un lenguaje de acceso a bases... [16/11/11] |
131 | ||||
3. SQL. Uso de la clausula WHERE Vamos a aprender a hacer algunas consultas en sql desde las básicas hasta algunas... [19/12/11] |
7 |