La clausula Join se utiliza para combinar filas de dos o mas tablas en funcion de una columna que se relaciona entre ellas
Cada tabla tiene un ID que es unico
ese ID es eñ campo que se debe relacionar en otras tablas
El INNER JOIN es la clausula que relaciona campos coincidentes en tablas distintas
Ejemplo
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate FROM Orders INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
Diferentes tipos de JOIN
Clausula | Descricion |
---|---|
(INNER) JOIN: | Devuelve registros que tienen valores coincidentes en ambas tablas |
LEFT (OUTER) JOIN | Devuelve todos los registros de la tabla de la izquierda y los registros coincidentes de la tabla de la derecha. |
RIGHT (OUTER) JOIN: | Devuelve todos los registros de la tabla de la derecha y los registros de la tabla de la izquierda |
FULL (OUTER) JOIN: | Devuelve todos los registros cuando hay una coincidencia en cualquiera de los dos. o mesa derecha |
...
LEFT JOIN
LEFT JOIN devuelve todos los registros de la tabla de la esquierda, y los registros coincidientes de la tabla de la derecha
Ejemplo de codigo
En algunas bases de datos LEFT JOIN se llama LEFT OUTER JOIN.
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
Ejemplo de codigo
La seguiente instrucion SQL seleciona todos los clientes y cualquier pedido que tenga
SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerName;
RIGHT JOIN
Esta clausula RIGHT JOIN devuelve todos los registros de la tabla derecha y los registros coincidentes de la tabla de la esquierda
Ejemplo de codigo
En algunas bases de datos RIGHT JOINse llama RIGHT OUTER JOIN.
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
ejemplo
La siguiente instrucción SQL devolverá todos los empleados y cualquier pedido que podría haber colocado:
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName FROM Orders RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID ORDER BY Orders.OrderID;
FULL OUTER JOIN4>
los FULL OUTER JOINpalabra clave devuelve todos los registros cuando hay una coincidencia en registros de tabla izquierdo (table1) o derecho (table2).
Sintaxis FULL OUTER JOIN
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name WHERE condition;
FULL OUTER JOIN El uso de esta clausula puede devolver resultados muy grandes
Ejemplos de FULL OUTER JOIN
SELECT Customers.CustomerName, Orders.OrderID FROM Customers FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID ORDER BY Customers.CustomerName;
Self Join
Una unión automática es una unión normal, pero la tabla se une consigo misma
sintaxis
SELECT column_name(s) FROM table1 T1, table1 T2 WHERE condition;
Ejemplo
La siguiente instrucción SQL coincide con los clientes que son de la misma ciudad:
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City FROM Customers A, Customers B WHERE A.CustomerID < > B.CustomerID AND A.City = B.City ORDER BY A.City;
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias