¿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:
- INNER JOIN
- Unir tablas con nombres de columna idénticos
- problema de práctica
INNER JOIN
en la lección anterior, aprendió los conceptos básicos de las uniones SQL utilizando datos sobre jugadores de fútbol universitario. Todos los jugadores de la tabla players
coinciden con una escuela en la tabla teams
. Pero, ¿qué pasa si los datos no están tan limpios?, ¿Qué pasa si hay varias escuelas en la tabla teams
con el mismo nombre? O si un jugador va a una escuela que no está en la tabla teams
?
si hay varias escuelas en la tabla teams
con el mismo nombre, cada una de esas filas se unirá a las filas coincidentes en la tabla players
., Volviendo al ejemplo anterior con Michael Campanaro, si hubiera tres filas en la tabla teams
donde school_name = 'Wake Forest'
, la consulta de combinación anterior devolvería tres filas con Michael Campanaro.
a menudo ocurre que una o ambas tablas que se unen contienen filas que no tienen coincidencias en la otra tabla. La forma en que se maneja esto depende de si estás haciendo una unión interior o una unión exterior.
comenzaremos con las uniones internas, que se pueden escribir como JOIN benn.college_football_teams teams
o INNER JOIN benn.college_football_teams teams
., Las uniones internas eliminan las filas de ambas tablas que no cumplen la condición de unión establecida en la instrucción ON
. En términos matemáticos, una unión interna es la intersección de las dos tablas.
por lo tanto, si un jugador va a una escuela que no está en la tabla teams
, ese jugador no se incluirá en el resultado de una unión interna., Del mismo modo, si hay escuelas en la tabla teams
que no coinciden con ninguna escuela en la tabla players
, esas filas tampoco se incluirán en los resultados.
Unir tablas con nombres de columna idénticos
cuando se unen dos tablas, puede darse el caso de que ambas tablas tengan columnas con nombres idénticos., En el siguiente ejemplo, ambas tablas tienen columnas llamadas school_name
:
los resultados solo pueden admitir una columna con un nombre dado: cuando incluye 2 columnas con el mismo nombre, LOS RESULTADOS simplemente mostrarán el mismo conjunto de resultados para ambas columnas, incluso si las dos columnas deben contener datos diferentes. Puede evitar esto nombrando las columnas individualmente., Sucede que estas dos columnas contendrán los mismos datos porque se utilizan para la clave de unión, pero la siguiente consulta permite técnicamente que estas columnas sean independientes:
afinar sus habilidades SQL
problema de práctica
escriba una consulta que muestre los nombres de los jugadores, los nombres de las escuelas y las conferencias para las escuelas en la división «FBS (Division I-A Teams)».
probarlo a Ver la respuesta