Autocombinaciones
Las autocombinaciones en SQL son una forma de combinar filas de una tabla consigo misma basadas en una relación entre una o más columnas de la tabla. Las autocombinaciones se utilizan para recuperar datos de una tabla en una sola consulta.
En Microsoft SQL Server, las autocombinaciones se pueden realizar utilizando la cláusula JOIN y la tabla de autocombinación se puede referenciar utilizando un alias.
A modo de facilitar la comprensión de las autocombinaciones, utilizaremos las siguientes tablas:
Tabla Employees
| EmployeeID | LastName | FirstName |
|---|---|---|
| 1 | Davolio | Nancy |
| 2 | Fuller | Andrew |
| 3 | Leverling | Janet |
| 4 | Peacock | Margaret |
Tabla Orders
| OrderID | OrderDate | EmployeeID |
|---|---|---|
| 10248 | 1996-07-04 | 1 |
| 10249 | 1996-07-05 | 2 |
| 10250 | 1996-07-08 | 3 |
| 10251 | 1996-07-08 | 3 |
Autocombinación
Una autocombinación es una combinación de una tabla consigo misma. Las autocombinaciones se utilizan para recuperar datos de una tabla en una sola consulta. Las autocombinaciones se pueden realizar utilizando la cláusula JOIN y la tabla de autocombinación se puede referenciar utilizando un alias.
La sintaxis básica de una autocombinación es la siguiente:
SELECT column1, column2, ...FROM table1 alias1JOIN table1 alias2ON alias1.column_name = alias2.column_name;Por ejemplo, para realizar una autocombinación entre la tabla Employees utilizando la columna EmployeeID, se puede utilizar la siguiente consulta:
SELECT e1.LastName, e1.FirstName, e2.LastName, e2.FirstNameFROM Employees e1JOIN Employees e2ON e1.EmployeeID = e2.EmployeeID;En esta consulta, estamos seleccionando los campos LastName y FirstName de la tabla Employees utilizando los alias e1 y e2. Luego, estamos combinando la tabla Employees consigo misma utilizando la columna EmployeeID.
Donde tenemos como resultado la siguiente tabla:
| LastName | FirstName | LastName | FirstName |
|---|---|---|---|
| Davolio | Nancy | Davolio | Nancy |
| Fuller | Andrew | Fuller | Andrew |
| Leverling | Janet | Leverling | Janet |
| Peacock | Margaret | Peacock | Margaret |
En esta tabla, cada fila representa una combinación de una fila de la tabla Employees con otra fila de la misma tabla utilizando la columna EmployeeID. Las autocombinaciones se utilizan para recuperar datos de una tabla en una sola consulta.
Las autocombinaciones son útiles cuando se necesita comparar datos de una tabla consigo misma o cuando se necesita recuperar datos relacionados de una tabla en una sola consulta. Las autocombinaciones se pueden realizar utilizando la cláusula JOIN y la tabla de autocombinación se puede referenciar utilizando un alias.