En PostgreSQL, la palabra clave INNER JOIN selecciona todas las filas de ambas tablas siempre que se cumpla la condición. Esta palabra clave creará el conjunto de resultados combinando todas las filas de ambas tablas donde se cumple la condición, es decir, el valor del campo común será el mismo.
Syntax: SELECT table1.column1, table1.column2, table2.column1, .... FROM table1 INNER JOIN table2 ON table1.matching_column = table2.matching_column; table1: First table. table2: Second table matching_column: Column common to both the tables.
Analicemos la sintaxis anterior:
- En primer lugar, mediante la sentencia SELECT especificamos las tablas de donde queremos que se seleccionen los datos.
- En segundo lugar, especificamos la tabla principal.
- En tercer lugar, especificamos la tabla a la que se une la tabla principal.
El siguiente diagrama de Venn ilustra el funcionamiento de la cláusula INNER JOIN de PostgreSQL:
Por el bien de este artículo, utilizaremos la base de datos de alquiler de DVD de muestra , que se explica aquí y se puede descargar haciendo clic en este enlace en nuestros ejemplos.
Ahora, veamos algunos ejemplos.
Ejemplo 1:
aquí uniremos la tabla «cliente» a la tabla «pago» usando la cláusula INNER JOIN.
SELECT customer.customer_id, first_name, last_name, email, amount, payment_date FROM customer INNER JOIN payment ON payment.customer_id = customer.customer_id;
Producción:
Ejemplo 2:
Aquí uniremos la tabla de «clientes» a la tabla de «pagos» usando la cláusula INNER JOIN y los ordenaremos con la cláusula ORDER BY:
SELECT customer.customer_id, first_name, last_name, email, amount, payment_date FROM customer INNER JOIN payment ON payment.customer_id = customer.customer_id ORDER BY customer.customer_id;
Producción:
Ejemplo 3:
Aquí uniremos la tabla «cliente» a la tabla «pago» usando la cláusula INNER JOIN y los filtraremos con la cláusula WHERE:
SELECT customer.customer_id, first_name, last_name, email, amount, payment_date FROM customer INNER JOIN payment ON payment.customer_id = customer.customer_id WHERE customer.customer_id = 15;
Producción:
Ejemplo 4:
Aquí estableceremos la relación entre tres tablas: personal, pago y cliente usando la cláusula INNER JOIN.
SELECT customer.customer_id, customer.first_name customer_first_name, customer.last_name customer_last_name, customer.email, staff.first_name staff_first_name, staff.last_name staff_last_name, amount, payment_date FROM customer INNER JOIN payment ON payment.customer_id = customer.customer_id INNER JOIN staff ON payment.staff_id = staff.staff_id;
Producción:
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA