PostgreSQL Tipos de unión: Interior, Exterior, Izquierda, Derecha
⚡ Resumen inteligente
PostgreSQL Las uniones recuperan y combinan filas de dos o más tablas utilizando una clave compartida, e incluyen uniones internas como theta, EQUI y natural, además de uniones externas que abarcan resultados izquierdos, derechos y completos.

¿Qué son las uniones? PostgreSQL?
PostgreSQL Une Se utilizan para recuperar datos de varias tablas. Con las cláusulas JOIN, podemos combinar las sentencias SELECT y JOIN en una sola. Se añade una condición JOIN a la sentencia y se devuelven todas las filas que cumplen dicha condición. Los valores de las distintas tablas se combinan en función de las columnas comunes. La columna común suele ser una clave primaria en la primera tabla y una clave foránea en la segunda.
PostgreSQL Tipos de unión
Hay dos tipos de uniones en PostgreSQL:
- Uniones internas
- Uniones externas
PostgreSQL Unir internamente
Hay 3 tipos de uniones internas en PostgreSQL:
- Theta unirse
- Unión natural
- Únete a EQUI
Unión theta
Una unión theta permite unir dos tablas según la condición representada por theta. Las uniones theta pueden funcionar con todos los operadores de comparación. En la mayoría de los casos, la unión theta se denomina unión interna.
La unión theta es el tipo más básico de UNIÓN. Devolverá todas las filas de las tablas donde se cumple la condición JOIN.
Sintaxis:
SELECT columns FROM table-1 INNER JOIN table-2 ON table-1.column = table-2.column;
Considere las siguientes tablas de la base de datos Demo:
Libro:
Precio:
Queremos ver el nombre de cada libro y el precio correspondiente. Podemos ejecutar el siguiente comando:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Esto devolverá lo siguiente:
Solo 3 filas cumplieron la condición de unión.
Únete a EQUI
La unión EQUI nos proporciona una forma de unir dos tablas según la relación clave principal/clave externa. Por ejemplo:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Esto devolverá lo siguiente:
Se han devuelto registros de ambas tablas en función de las columnas comunes, es decir, la columna de identificación.
Unión natural
Este tipo de unión nos proporciona otra forma de escribir una unión EQUI. Podemos mejorar nuestro ejemplo anterior agregando la palabra clave NATURAL como se muestra a continuación:
SELECT * FROM Book NATURAL JOIN Price;
Esto devolverá lo siguiente:
Solo se ha devuelto una columna de identificación. NATURAL JOIN pudo notar que la columna de identificación es común en las dos tablas. Sólo uno fue devuelto.
PostgreSQL Unión externa
Hay 3 tipos de uniones externas en PostgreSQL:
- Izquierda combinación externa
- Unión exterior derecha
- Unión externa completa
PostgreSQL Izquierda combinación externa
LEFT OUTER JOIN devolverá todas las filas de la tabla del lado izquierdo y solo las filas de la tabla del lado derecho donde se ha cumplido la condición de unión.
Sintaxis:
SELECT columns FROM table-1 LEFT OUTER JOIN table-2 ON table-1.column = table-2.column;
Necesitamos ver el nombre de cada libro y el precio correspondiente. Podemos ejecutar el siguiente comando:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Esto devuelve lo siguiente:
Se han devuelto las 4 filas de la tabla Libro. Sólo 3 filas de la tabla de precios cumplieron la condición de unión. Por eso fueron devueltos. El último libro no tiene valor de precio correspondiente.
PostgreSQL Unión exterior derecha
RIGHT OUTER JOIN devuelve todas las filas de la tabla del lado derecho y las filas de la tabla del lado izquierdo donde se ha cumplido la condición de unión.
Sintaxis:
SELECT columns FROM table-1 RIGHT OUTER JOIN table-2 ON table-1.column = table-2.column;
Por ejemplo:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Esto devuelve lo siguiente:
Se han devuelto todas las filas de la tabla Precio. Solo se devolvieron las filas de la tabla Libro que cumplían la condición de unión. La tercera fila no tiene valor para el nombre, ya que no se encontró ninguna coincidencia.
Unión externa completa PostgreSQL
Este tipo de JOIN devolverá todas las filas de la tabla del lado izquierdo y todas las filas de la tabla del lado derecho con valores nulos donde no se cumple la condición de unión.
Sintaxis:
SELECT columns FROM table-1 FULL OUTER JOIN table-2 ON table-1.column = table-2.column;
Por ejemplo:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Esto devuelve lo siguiente:
Se han devuelto todas las filas de todas las tablas, con valores nulos donde no se encontró ninguna coincidencia.
Usando pgAdmin
Las tareas anteriores se pueden realizar en pgAdmin de la siguiente manera. Las siguientes secciones describen cada tipo de unión paso a paso.
Unión interna de pgAdmin
Los pasos que se describen a continuación muestran cómo ejecutar cada variante de unión interna en pgAdmin.
Cómo utilizar Theta Únete PostgreSQL usando pgAdmin
A continuación se detallan los pasos para utilizar Theta Join en PostgreSQL usando pgAdmin:
Paso 1) Inicie sesión en su cuenta pgAdmin
Abra pgAdmin e inicie sesión con sus credenciales
Paso 2) Crear base de datos de demostración
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta
Escriba la siguiente consulta en el editor de consultas:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Paso 4) Ejecutar la consulta
Haga clic en el botón Ejecutar
Debería devolver lo siguiente:
Únete a EQUI
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
Unión natural
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT * FROM Book NATURAL JOIN Price;
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
pgAdmin Unión interna simple
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
Unión externa pgAdmin
A continuación, ejecute las tres variantes de unión externa en pgAdmin siguiendo los pasos que se indican a continuación.
Izquierda combinación externa
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
Unión exterior derecha
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
Unión externa completa
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
Descargue la Base de Datos utilizada en este Tutorial





























