From (SQL)

A cláusula SQL From é a fonte de um conjunto de linhas a ser operado em uma instrução DML (Data Manipulation Language) . Em uma instrução Select, se especifica as fontes dos dados através da cláusula From. Na cláusula From também pode haver uma operação com a cláusula Join fazendo que haja uma combinação de dados de duas ou mais fontes diferentes (sejam elas dados, tabelas ou tabelas e consultas).

From é uma palavra reservada no padrão SQL que não deve ser utilizada para nomear bancos de dados, tabelas, colunas ou quaisquer outros objetos de banco de dados.[1]

A cláusula From é usada em conjunto com as instruções SQL, onde a mesma deve assumir a forma padrão:

Instrução SQL-DML
FROM nome_tabela 

A cláusula From pode geralmente ser qualquer coisa que retorne um conjunto de linhas, uma tabela, visualização, função ou informações fornecidas pelo sistema como o Esquema de Informações, que normalmente executa comandos proprietários e retorna as informações em forma de tabela.[2]

A cláusula Where permite a filtragem de elementos nos resultados das consultas.

ExemplosEditar

Vamos efetuar uma consulta em cada tabela, para verificar se os registros foram inseridos corretamente. Para isso usaremos a declaração Select, especificando somente as colunas que desejamos retornar:

SELECT Nome_Fornec 
FROM Fornecedores

Queremos consultar apenas o nome do produto cujo ID é igual a 101.

    SELECT Nome_Prod 
    FROM Produtos
	WHERE ID_Prod = 101

RequerimentoEditar

A cláusula From é tecnicamente necessária na álgebra relacional e na maioria dos cenários para ser útil. No entanto, muitas implementações de DBMS relacionais podem não exigir isso para a seleção de um único valor ou linha única - conhecido como Tabela Dual no banco de dados Oracle.[3] Basicamente a Tabela Dual serve para manter a sintaxe correta do Select quando não houver uma tabela na consulta.

Exemplo de consulta sem tabela:

    SELECT 3.14 AS Pi

Outros sistemas exigirão uma declaração From com uma palavra-chave, até mesmo para selecionar dados do sistema.[4] Neste casos haverá a necessidade da utilização da Tabela Dual. Exemplo de consulta com tabela:

select to_char(sysdate, 'Dy DD-Mon-YYYY HH24:MI:SS')
as "Current Time"
from dual;

Referências