Anterior Home Page Sumário E-Mail Próximo

Cláusulas

Cláusula FROM

Sintaxe

cláusula_FROM :  

        FROM tabela [identificador_de_correlação]

                               [ , tabela [identificador_de_correlação] ]...

Regras

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.

Exemplo

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

Anterior Home Page Sumário E-Mail Próximo