Varias uniones

Unir datos en SQL

Maham Faisal Khan

Senior Content Developer, DataCamp

Uniones sobre uniones

SELECT *
FROM left_table
INNER JOIN right_table
ON left_table.id = right_table.id

INNER JOIN another_table ON left_table.id = another_table.id;

Nota: Dependiendo del caso de uso, se puede utilizar left_table o right_table en la cláusula ON.

Unir datos en SQL

Uniones sobre uniones

La tabla prime_minister_terms de nuestra base de datos de líderes mundiales

La tabla prime_minister_terms, que muestra dos columnas: el nombre del prime_minister y el año en que asumió el cargo.

Unir datos en SQL

¿A qué unirse primero?

SELECT p1.country, p1.continent, 
       president, prime_minister
FROM prime_ministers as p1
INNER JOIN presidents as p2
USING(country);
| country  | continent     | president               | prime_minister   |
| -------- | ------------- | ----------------------- | ---------------- |
| Egypt    | Africa        | Abdel Fattah el-Sisi    | Mostafa Madbouly |
| Portugal | Europe        | Marcelo Rebelo de Sousa | Luís Montenegro  |
| Pakistan | Asia          | Asif Ali Zardari        | Shehbaz Sharif   |
| India    | Asia          | Droupadi Murmu          | Narendra Modi    |
Unir datos en SQL

Encadenamiento de uniones

Diagrama que muestra el conjunto de resultados de la fusión de la diapositiva anterior (presidents y prime_ministers) con una nueva tabla, prime_minister_terms. El resultado tiene cinco columnas: country, continent, president, prime_minister y pm_start.

Unir datos en SQL

Encadenamiento de uniones

-- SQL query for chaining inner joins
SELECT 
    p1.country, 
    p1.continent, 
    president, 
    prime_minister, 
    pm_start
FROM prime_ministers as p1
INNER JOIN presidents as p2
USING(country)

INNER JOIN prime_minister_terms as p3 USING(prime_minister);
Unir datos en SQL

¿A qué aplicamos una unión con ON?

SELECT * 
FROM left_table
INNER JOIN right_table
ON left_table.id = right_table.id;
Diagrama de INNER JOIN ON el campo id

Diagrama que muestra que, al comparar una columna, a veces el campo de unión de la tabla izquierda encuentra varias coincidencias en el campo de unión de la tabla derecha. El conjunto de resultados tiene varios registros para cada id de la tabla derecha coincidente con la tabla izquierda.

Unir datos en SQL

Aplicar unión con ON en varias claves

SELECT * 
FROM left_table
INNER JOIN right_table
ON left_table.id = right_table.id
    AND left_table.date = right_table.date;
Diagrama de INNER JOIN ON los campos id AND date

Diagrama que muestra que el número de registros devueltos en el conjunto de resultados puede reducirse si se utilizan varios campos de unión. Aquí se utilizan tanto el id como la fecha para unir las dos tablas.

Unir datos en SQL

¡Vamos a practicar!

Unir datos en SQL

Preparing Video For Download...