Tipos de JOIN
- • INNER JOIN: solo filas coincidentes
- • LEFT JOIN: todas las filas de la izquierda, y las coincidentes de la derecha
- • RIGHT JOIN y FULL JOIN: menos comunes
Ejemplo: usuarios y posts
SELECT u.name, p.title
FROM users u
JOIN posts p ON p.user_id = u.id
WHERE p.published = true
ORDER BY p.created_at DESC;
Muchos a muchos con tablas de unión
CREATE TABLE tags (
id SERIAL PRIMARY KEY,
name TEXT UNIQUE NOT NULL
);
CREATE TABLE post_tags (
post_id INT REFERENCES posts(id),
tag_id INT REFERENCES tags(id),
PRIMARY KEY (post_id, tag_id)
);