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_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
profesores
| lecturer_id | nombre |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
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_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 combinación también se denomina combinación interna.
Desafío
FácilTablas y columnas disponibles:
grades:course_id,student_id,gradestudents: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 gradeEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Más palabras clave
La palabra clave INLa palabra clave BETWEENLa palabra clave LIKELa palabra clave ASRepaso: modelos de celulares2Condiciones
Conceptos básicos de las condicionesLa palabra clave ANDLa palabra clave ORLa palabra clave NOTCombinación de múltiples condicionesParéntesisBooleanos5Operaciones aritméticas
Operadores matemáticosColumnas matemáticasLa operación móduloLa función ROUND()3Formato de retorno específico
Valores nulosOrdenar resultados, parte 1Ordenar resultados, parte 2Repaso: empresa de ciberseguridadLimitar el número de registrosRepaso: fábrica de vehículos6Desafíos introductorios
Repaso - Elección parlamentariaRepaso - Detención policial de un criminalRepaso - Recipiente de bebida de barRepaso - Ingeniería de nuevas columnas9Múltiples tablas
Unión básica, parte 1Unión básica, parte 2Repaso: uniónAutouniónRepaso: autouniónUniónSimplificar consultas, palabra clave WITHRepaso: consultas WITHRepaso: contratista inmobiliario12Funciones de ventana, parte 2
Funciones RANK y DENSE_RANKRepaso: RANK y DENSE_RANKFunción NTILEFunciones de agregaciónCriterio ROWS y RANGEPractica por tu cuenta: Playground de SQL