O recurso mais poderoso da linguagem SQL é a capacidade de combinar diferentes tabelas na RAM do SGBD durante a execução da consulta. As junções são frequentemente usadas para análise de dados. Via de regra, os dados ficam em tabelas diferentes, o que permite armazená-los de forma mais eficiente (já que a informação não é duplicada), simplifica o processamento dos dados e permite escalar o banco de dados (é possível adicionar novas tabelas com informações adicionais) .
As tabelas de banco de dados utilizadas no SGBD MS Access são tabelas relacionais, ou seja, todas as tabelas podem ser conectadas entre si por campos comuns.
Combinar tabelas é um procedimento muito simples. É necessário especificar todas as tabelas que farão parte da combinação e “explicar” ao SGBD como elas se relacionarão entre si. A conexão é feita utilizando a palavra WHERE, por exemplo:
Run SQLSELECT DISTINCT Seller_name, Product
FROM Sellers, Sumproduct
WHERE Sellers.City = Sumproduct.City
Combinando as duas tabelas, conseguimos ver quais produtos cada vendedor vende. Vamos dar uma olhada no código da solicitação, pois ele é um pouco diferente de uma solicitação normal. A instrução SELECT começa especificando as colunas que queremos exibir, mas esses campos estão em tabelas diferentes, a cláusula FROM contém duas tabelas que queremos unir na instrução SELECT, as tabelas são unidas usando a palavra WHERE, que especifica as colunas juntar-se. Você deve especificar o nome completo do campo (Tabela.Campo), pois o campo City está em ambas as tabelas.
No exemplo anterior, utilizamos a palavra WHERE para combinar tabelas, que realiza uma verificação baseada na equivalência de duas tabelas. Uma combinação deste tipo também é chamada de "combinação interna". Existe também outra forma de combinar tabelas que indica claramente o tipo de combinação. Considere o seguinte exemplo:
Run SQLSELECT DISTINCT Seller_name, Product
FROM Sellers
INNER JOIN Sumproduct
ON Sellers.City = Sumproduct.City
Nesta consulta, em vez de WHERE, utilizamos a construção INNER JOIN ... ON ..., que deu um resultado semelhante. Embora a combinação com a cláusula WHERE seja mais curta, ainda é melhor usar INNER JOIN porque é mais flexível, como será explicado com mais detalhes nas seções a seguir.