Cuando los datos están repartidos en varias tablas relacionadas por una clave
(por ejemplo clientes y pedidos, donde cada pedido tiene
un cliente_id), se usa INNER JOIN para combinarlas:
SELECT clientes.nombre, pedidos.monto
FROM pedidos
INNER JOIN clientes ON pedidos.cliente_id = clientes.id;
El INNER JOIN (se puede escribir sólo JOIN) trae
únicamente las filas que tienen coincidencia en ambas tablas. Se le puede agregar
WHERE igual que a cualquier SELECT:
SELECT clientes.nombre, pedidos.monto
FROM pedidos
INNER JOIN clientes ON pedidos.cliente_id = clientes.id
WHERE pedidos.monto > 500000;
Cuando dos tablas tienen columnas con el mismo nombre (como id),
hay que anteponer la tabla (clientes.id) para que SQL Server sepa a
cuál te referís. También se pueden usar alias para escribir menos:
SELECT c.nombre, p.monto
FROM pedidos AS p
INNER JOIN clientes AS c ON p.cliente_id = c.id;