¿empezando aquí? Esta lección es parte de un tutorial completo sobre el uso de SQL para el análisis de datos. Mira el principio.
en esta lección cubriremos:
- EL COMANDO DE UNIÓN izquierdo
- Problemas de práctica
el comando de unión izquierdo
comencemos ejecutando un INNER JOIN
en el conjunto de datos de Crunchbase y echando un vistazo resultados. Solo veremos company-permalink
en cada tabla, así como un par de otros campos, para tener una idea de lo que realmente se está uniendo.,
SELECT companies.permalink AS companies_permalink, companies.name AS companies_name, acquisitions.company_permalink AS acquisitions_permalink, acquisitions.acquired_at AS acquired_date FROM tutorial.crunchbase_companies companies JOIN tutorial.crunchbase_acquisitions acquisitions ON companies.permalink = acquisitions.company_permalink
puede notar que «280 North» aparece dos veces en esta lista. Esto se debe a que tiene dos entradas en la tabla tutorial.crunchbase_acquisitions
, las cuales se unen a la tabla tutorial.crunchbase_companies
.,
ahora intente ejecutar esa consulta como un LEFT JOIN
:
SELECT companies.permalink AS companies_permalink, companies.name AS companies_name, acquisitions.company_permalink AS acquisitions_permalink, acquisitions.acquired_at AS acquired_date FROM tutorial.crunchbase_companies companies LEFT JOIN tutorial.crunchbase_acquisitions acquisitions ON companies.permalink = acquisitions.company_permalink
puede ver que las dos primeras compañías del conjunto de resultados anterior, #waywire y 1000memories, son empujadas hacia abajo en la página por un número de resultados que contienen valores nulos en los campos acquisitions_permalink
y acquired_date
.,
esto se debe a que el comando LEFT JOIN
le dice a la base de datos que devuelva todas las filas de la tabla en la cláusula FROM
, independientemente de si tienen o no coincidencias en la tabla en el LEFT JOIN
cláusula.,
mejore sus habilidades SQL
puede explorar las diferencias entre un LEFT JOIN
y un JOIN
resolviendo estos problemas de práctica:
problema de práctica
una unión interna entre la tablatutorial.crunchbase_acquisitions
y la tabla tutorial.crunchbase_companies
, pero en lugar de enumerar filas individuales, cuente el número de filas no nulas en cada tabla.,
probarlo a Ver la respuesta
la Práctica del Problema
Modificar la consulta anterior para ser un LEFT JOIN
. Tenga en cuenta la diferencia en los resultados.
pruébelo vea la respuesta
ahora que tiene una idea de cómo left joins trabaja, intente este problema de agregación más difícil:
problema de práctica
cuente el número de empresas únicas (no cuente dos veces las empresas) y las empresas adquiridas únicas por estado., No incluir los resultados para los que no hay datos estatales, y ordenar por el número de empresas adquiridas de mayor a menor.
probarlo a Ver la respuesta