Resumen JOIN

-- Relacionamos los datos de diferentes tablas con JOIN
-- Lo que hacemos es seguir el camino de las relaciones
-- Que nos vienen del modelo ER
-- Estas relaciones se implementan con los ids
-- Por lo que para hacer una consulta que relacione varias tablas hacemos:
-- 1) Identificar en que tablas tenemos la información que queremos
-- 2) Ver el camino entre esas tablas
-- 3) Identificar los ids de esas relaciones
-- Ejemplo: Direcciones de España
-- 1) La info la tengo en country y address
-- 2) El camino es country--city--address
-- 3) country-city: country_id  city-address: city_id
select * from country join city on country.country_id=city.country_id
join address on city.city_id=address.city_id;

-- El JOIN es fundamental dentro de las consultas de las bases de datos
-- Porque muy pocas veces querremos información de solo una tabla

-- A los campos y tablas les puedo poner alias
select country pais, address direccion from country c join city ci on c.country_id=ci.country_id
join address a on ci.city_id=a.city_id;

-- Generalmente para modificar el nombre que vemos de los campos y en el caso
-- de las tablas simplificar los joins

-- JOIN me muestra los registros que están relacionados, lo que no tienen
-- relación no salen. Si hay paises que no tienen ciudades o actores que
-- no tienen películas no saldrán en el JOIN
-- Para eso tenemos que usar LEFT o RIGHT para obtener TODOS los registros
-- de la tabla que está a la derecha o a la izquierda aunque
-- no tenga registros relacionados

select * from country left join city on country.country_id=city.country_id;

-- En la consulta anterior salen todos los paises incluyendo aquellos
-- que no tengan ciudades

Publicado por

Avatar del usuario

Juan Pablo Fuentes

Formador de programación y bases de datos