Menu
Coddy logo textTech

Unión básica, parte 1

Parte de la sección Fundamentos del Journey de SQL de Coddy. Lección 43 de 72.

Hasta ahora, hemos abordado problemas de una sola tabla. Ahora examinaremos cómo trabajar con múltiples tablas.

Supongamos que tenemos las siguientes tablas:

courses

course_idlecturer_id
11
21
32

profesores

lecturer_idnombre
1Jhonas
2Malidos

La tarea es presentar cada curso con el nombre del lecturer correspondiente.

Hay dos formas de lograrlo. Para cada opción, hacemos coincidir cada row de una tabla con la otra. Comprobamos una condición que debe cumplirse y, si se cumple, combinamos las dos filas en una sola. El resultado deseado para both opciones:

course_idlecturer_name
1Jhonas
2Jhonas
3Malidos

Opción 1:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_id

Aquí escribimos dos tablas en la palabra clave FROM y, en la cláusula WHERE, solicitamos que el lecturer_id de ambos registros sea el mismo. En la cláusula SELECT, ahora escribimos table.column para que la base de datos sepa de dónde obtener la columna.

Opción 2:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_id

En lugar de WHERE usamos JOIN table ON condition

Este tipo de combinación también se denomina combinación interna.

challenge icon

Desafío

Fácil

Tablas y columnas disponibles:

  • grades: course_id, student_id, grade
  • students: id, name

Crea una consulta que obtenga student_name, course_id, student_id y grade en una sola tabla. Ordena el resultado por grade en orden ascendente.

Pruébalo tú mismo

-- Lista las columnas que pide la tarea, usando el alias que pide
SELECT ____
FROM students, grades
-- Conserva solo los pares de filas donde ambas tablas describen a la misma persona
WHERE ____
ORDER BY grade
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de SQL