cláusula_FROM :
FROM tabela [identificador_de_correlação]
[ , tabela [identificador_de_correlação] ]...
A cláusula FROM especifica uma tabela derivada de uma ou mais tabelas e a descrição de seu resultado é a concatenação das descrições das tabelas nela especificadas, na ordem em que seus nomes aparecem.
Um identificador de correlação é usado para identificar a tabela a ele associada. Caso a tabela não possua um, ela é dita exposta. Nomes de tabela expostos e/ou identificadores de correlações em uma cláusula FROM não podem ser iguais. Quando se deseja fazer referência a mais de uma instância uma mesma tabela ao mesmo tempo, o uso de identificadores de correlação se torna necessário para eliminar possíveis ambigüidades. O identificador de correlação pode ser usado mesmo sem que haja necessidade explícita, apenas para tornar a identificação da tabela mais legível no contexto.
O escopo dos nomes de correlação e dos nomes de tabelas expostos de uma cláusula FROM é a subconsulta mais interna ou a especificação de consulta que contém a cláusula FROM. Uma cláusula FROM define um escopo para um nome de tabela nela especificado somente se o nome de tabela estiver exposto.
Veja também Especificação de consulta, Tabela e Subconsulta.
Quando a cláusula FROM contém mais de uma tabela, ela especifica uma junção. O exemplo abaixo mostra o nome dos vendedores e a cidade onde trabalham a partir de uma junção.
SELECT nome,cidade
FROM vendedores, escritorios
WHERE vendedores.escritorio = escritorios.escritorio
O uso de identificadores de correlação é, por exemplo, necessário no caso de uma junção de uma tabela com ela mesma. O exemplo a seguir lista todos os pares de pedidos feitos no mesmo dia.
SELECT primeiro.pedido#, segundo.pedido#
FROM pedidos primeiro, pedidos segundo
WHERE primeiro.data = segundo.data