Varias uniones

Combinación de 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 usar left_table o right_table en la cláusula ON.

Combinación de 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.

Combinación de 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    |
Combinación de 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 consta de cinco columnas: país, continente, presidente, primer_ministro y pm_start.

Combinación de 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);
Combinación de 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 un 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 en la tabla derecha que coincidió con la tabla izquierda.

Combinación de 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í, tanto id como date se utilizan para unir las dos tablas.

Combinación de datos en SQL

¡Practiquemos!

Combinación de datos en SQL

Preparing Video For Download...