T-SQL: unir tablas
El servidor MS SQL JoinsLa cláusula se utiliza para combinar registros de dos o más tablas en una base de datos. Un JOIN es un medio para combinar campos de dos tablas utilizando valores comunes a cada uno.
Considere las dos tablas siguientes, (a) La tabla CLIENTES es la siguiente:
ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00
(b) Otra tabla es PEDIDOS como sigue:
OID DATE CUSTOMER_ID AMOUNT
100 2009-10-08 00:00:00.000 3 1500.00
101 2009-11-20 00:00:00.000 2 1560.00
102 2009-10-08 00:00:00.000 3 3000.00
103 2008-05-20 00:00:00.000 4 2060.00
Unamos estas dos tablas en nuestra declaración SELECT de la siguiente manera:
SELECT ID, NAME, AGE, AMOUNT
FROM CUSTOMERS, ORDERS
WHERE CUSTOMERS.ID = ORDERS.CUSTOMER_ID
OR
SELECT A.ID, A.NAME, A.AGE, B.AMOUNT
FROM CUSTOMERS A inner join ORDERS B on A.ID = B.Customer_ID
El comando anterior producirá la siguiente salida.
ID NAME AGE AMOUNT
2 Khilan 25 1560.00
3 kaushik 23 1500.00
3 kaushik 23 3000.00
4 Chaitali 25 2060.00
Se nota que la combinación se realiza en la cláusula WHERE. Se pueden usar varios operadores para unir tablas, como =, <,>, <>, <=,> =,! =, BETWEEN, LIKE y NOT; todos pueden usarse para unir tablas. Sin embargo, el operador más común es el símbolo igual.
Tipos de unión de MS SQL Server -
Hay diferentes tipos de combinaciones disponibles en MS SQL Server:
INNER JOIN - Devuelve filas cuando hay una coincidencia en ambas tablas.
LEFT JOIN - Devuelve todas las filas de la tabla de la izquierda, incluso si no hay coincidencias en la tabla de la derecha.
RIGHT JOIN - Devuelve todas las filas de la tabla de la derecha, incluso si no hay coincidencias en la tabla de la izquierda.
FULL JOIN - Devuelve filas cuando hay una coincidencia en una de las tablas.
SELF JOIN - Se utiliza para unir una tabla consigo misma como si fueran dos tablas, cambiando temporalmente el nombre de al menos una tabla en la declaración de MS SQL Server.
CARTESIAN JOIN - Devuelve el producto cartesiano de los conjuntos de registros de las dos o más tablas unidas.