Free CSS Button Css3Menu.com

Tutoriais » SQL » [DQL]-Seleção »
Definindo:
Este comando executa um filtro em uma tabela exibindo as tuplas (todos os campos) que atendem a uma condição.
Simbologia AR:
Tabela [[ Condição ]] ou σCondição(Tabela)
Sintaxe:
SELECT * FROM tabela [WHERE Condição]; onde o escrito entre '[ ]' é opcional.
Exemplo:
Se quisermos apenas algumas tuplas usamos o WHERE, desse modo:
SELECT * FROM funcionarios WHERE deptoid='A01';
Notas:
  • A condição é declarada após o subcomando WHERE.
    Para cada tupla a condição é validada e se o resultado da condição for verdadeiro a tupla é exibida.
    Podemos usar esta característica para listar todas as tuplas de uma tabela com este comando:
    SELECT * FROM departamentos WHERE deptosuperiorid='A01';
  • Repare no comando a seguir...
    SELECT * FROM departamentos;
    O sub-comando WHERE pode ser omitido, quando isso acontece a condição é validada como VERDADEIRA para todas as tuplas.
    Assim, no comando acima, a condição passa a ser entendida como 'verdadeiro' para todas as linhas. Desse modo, exibe todas as linhas de 'departamentos'.
    O comando acima é equivalente à...
    SELECT * FROM departamentos WHERE 1=1;,
    Pois para todas as linhas da tabela a expressão 1=1 retorna verdadeiro.
  • Em Álgebra Relacional (na notação extendida) a operação de Seleção é escrita assim:
    <Tabela> [[ Condição ]]
    Exemplificando com o segundo comando de exemplo apresentado
    funcionarios [[ deptoid='A01' ]]
  • Lembre-se: Se quisermos (ou precisarmos) 'direcionar' o resultado do comando para uma tabela, basta:
    Em AR:
    A = funcionarios [[ deptoid='A01' ]]
    EM SQL:
    CREATE temporary TABLE A AS (SELECT * FROM funcionarios WHERE deptoid='A01');
  • Podemos usar operadores lógicos para combinar condições na seleção.
    Para uma tupla ser exibida em uma seleção a CONDIÇÃO deve retornar INTEIRAMENTE VERDADEIRA.
    Analise este Exemplo
    Seleção dos funcionários que trabalham no departamento 'A01' ou no departamento 'B01'
    SELECT * FROM departamentos WHERE deptosuperiorid='A01' OR deptosuperiorid='B01';
    Quando for preciso comparar os valores de um campo com uma sequência precisa de valores (como no comando acima), podemos usar o operador IN.
    Desse modo podemos escrever:
    SELECT * FROM departamentos WHERE deptosuperiorid IN ('A01','B01');
    O operador IN compara o campo com a série de valores indicada entre os parenteses


Tutoriais » SQL » [DQL]-Seleção »