(INTERIOR) JOIN: Devuelve registros que tienen valores coincidentes en ambas tablas.
IZQUIERDA (EXTERIOR): devuelve todos los registros de la tabla izquierda y los registros coincidentes de la tabla derecha.
UNIÓN DERECHA (EXTERIOR): devuelve todos los registros de la tabla derecha y los registros coincidentes de la tabla izquierda.
FULL (OUTER) JOIN: devuelve todos los registros cuando hay una coincidencia en la tabla izquierda o derecha
Por ejemplo, supongamos que tenemos dos tablas con los siguientes registros:
Tabla A
id firstname lastname
___________________________
1 Ram Thapa
2 sam Koirala
3 abc xyz
6 sruthy abc
Tabla B
id2 place
_____________
1 Nepal
2 USA
3 Lumbini
5 Kathmandu
Unir internamente
Nota: Da la intersección de dos tablas.
Sintaxis
SELECT column_name FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
Aplíquelo en su tabla de muestra:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA INNER JOIN TableB ON TableA.id = TableB.id2;
El resultado será:
firstName lastName Place
_____________________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
Izquierda unirse
Nota: dará todas las filas seleccionadas en la Tabla A, más cualquier fila seleccionada común en la Tabla B.
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
Aplícalo en tu tabla de muestra
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA LEFT JOIN TableB ON TableA.id = TableB.id2;
El resultado será:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
sruthy abc Null
Únete a la derecha
Nota: dará todas las filas seleccionadas en TableB, más cualquier fila seleccionada común en TableA.
Sintaxis:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
Aplícalo en tu tabla samole:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA RIGHT JOIN TableB ON TableA.id = TableB.id2;
El resultado será:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
Null Null Kathmandu
Únete completo
Nota: Es lo mismo que la operación de unión, devolverá todos los valores seleccionados de ambas tablas.
Sintaxis:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
Aplíquelo en su muestra [tabla de archivos:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA FULL JOIN TableB ON TableA.id = TableB.id2;
El resultado será:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
sruthy abc Null
Null Null Kathmandu
Algunos hechos
Para INNER se une, el orden no importa
Para las uniones EXTERIORES (IZQUIERDA, DERECHA o COMPLETA), el orden importa
Encuentre más en w3schools
RIGHT JOIN
si podemos lograr cualquier resultado deseado con soloLEFT JOIN
? : P