Basic Join Part 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 manejar múltiples tablas.
Supongamos que tenemos las siguientes tablas:
cursos
| course_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
docentes
| lecturer_id | name |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
La tarea consiste en presentar, para cada curso, el nombre del docente correspondiente.
Hay dos formas de lograr esto. Para cada opción, emparejamos cada fila de una tabla con la otra. Verificamos una condición que debe cumplirse y si la condición se cumple, combinamos las dos filas en una. El resultado deseado para ambas opciones:
| course_id | lecturer_name |
|---|---|
| 1 | Jhonas |
| 2 | Jhonas |
| 3 | Malidos |
Opción 1:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_idAquí 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_idEn lugar de WHERE usamos JOIN table ON condition
Este tipo de join también se llama un inner join.
Desafío
FácilTablas y columnas disponibles:
<strong>grades</strong>:<strong>course_id</strong>,<strong>student_id</strong>,<strong>grade</strong><strong>students</strong>:<strong>id</strong>,<strong>name</strong>
Crea una consulta que obtenga student_name, course_id, student_id y grade en una tabla. Ordena el resultado por grade en orden ascendente.
Hoja de referencia
Para combinar datos de múltiples tablas, use la sintaxis de coma con WHERE o la sintaxis JOIN:
Opción 1: Sintaxis de coma con WHERE
SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.id = table2.idOpción 2: Sintaxis JOIN
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.id = table2.idUse la sintaxis table.column para especificar de qué tabla proviene una columna al seleccionar de múltiples tablas. Este tipo de join se llama un inner join.
Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns