Saltar al contenido

Lo que un JOIN deja fuera

SQL · Unidad 7: Unir tablas

El dueño quiere mandar un saludo de año nuevo a todos sus clientes, y saca los nombres de la lista de pedidos con nombre. La tienda tiene 8 clientes. ¿Están todos?

Hay seis nombres. Faltan Camila y Bruno. Que no estuvieran en pedidos ya lo sabías. Esta vez la tabla clientes sí está en la consulta, y tampoco salen. Un JOIN devuelve parejas, un pedido con su cliente, y a ellos no les apunta ningún pedido.

SELECT DISTINCT c.nombre
FROM pedidos p
JOIN clientes c
  ON p.cliente_id = c.id
ORDER BY c.nombre;

Devuelve

nombre
Ana
Diego
Luis
Mateo
Sofía
Valeria

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Opción múltiple

    En Bogotá viven Luis y Camila. Esta consulta devuelve tres filas, las tres de Luis. ¿Por qué no sale Camila?

  2. 2. Predice la salida

    El reporte de ventas de la unidad 5 tenía que decir 0 en la línea del Parlante. Alguien lo rehace con un JOIN, para que salgan los nombres. De los Audífonos se han pedido 3 unidades. ¿Qué devuelve para la sección Audio?

  3. 3. Predice la salida

    La tienda tiene 8 clientes y 12 pedidos, y seis clientes han pedido algo. ¿Qué devuelve esta consulta?

  4. 4. Encuentra el bug

    ¿Cuántos clientes de Lima han comprado algo? En Lima viven tres clientes, y la consulta dice que han comprado 5. ¿Qué línea tiene el problema?

  5. 5. Ordena las líneas

    ¿Quiénes han hecho algún pedido de 2 unidades o más? Ordena la consulta que da cada cliente una sola vez, con su número y su nombre, en orden alfabético. Sobran dos líneas.

  6. 6. Completa el código

    Completa la condición que deja, de esas 96 parejas, las 12 que tienen sentido.

  7. 7. Opción múltiple

    La tienda ha vendido 2289.85 en total. Aquí esta consulta corre sin error y contesta 48376.5. ¿Qué pasó?

  8. 8. Opción múltiple

    En la unidad 4 viste que comparar algo con NULL nunca se cumple. Hay 8 libros y 5 autores. ¿Cuántas filas devuelve esta consulta?

  9. 9. Predice la salida

    Nora Paz es la única autora de Colombia, y en libros no hay ninguno suyo. ¿Qué devuelve esta consulta?

  10. 10. Encuentra el caso que falla

    El catálogo en línea dice cuántos libros publicados desde el año 2000 tiene la biblioteca, se sepa o no quién los escribió. Hoy son 5, y todos tienen autor. Alguien partió de la lista de libros con autor y le puso un COUNT. ¿Con cuál de estos cambios cuenta un libro de menos?

  11. 11. Escribe el código

    ¿Cuántos libros tiene la biblioteca de cada autor? Escribe una consulta con dos columnas en este orden, el nombre del autor y cuántos libros suyos hay. Primero quien tiene más, y los empates, por nombre en orden alfabético.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →