-- 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