Free CSS Button Css3Menu.com

Tutoriais » SQL » Seleção »
Definindo:
Este comando executa um filtro em uma tabela exibindo as tuplas (todos os campos) que atendem a uma condição. 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.
O sub-comando WHERE pode ser emitido, quando isso acontece a condição é validada como verdadeira para todas as tuplas. Podemos usar esta característica para listar todas as tuplas de uma tabela com este comando:
       SELECT * FROM departamentos;     
Se quisermos apenas algumas tuplas usamos o WHERE, desse modo:
       SELECT * FROM funcionarios WHERE id_depto='A01';     
Podemos usar operadores lógicos para combinar condições na seleção. para a tupla se exibida deve retornar verdadeira para a condição como um todo.
Seleção dos funcionários que trabalham no departamento 'A01' ou no departamento 'B01'
       SELECT * FROM departamentos WHERE id_depto_superior='A01' or id_depto_superior='B01';     
Quando queremos fazer uma comparação de um campo com uma sequencia precisa de valores (como no comando acima), podemos usar o operador IN.
Desse modo podemos escrever:
       SELECT * FROM departamentos WHERE id_depto_superior IN ('A01','B01');     
O operador IN compara o campo com a série de valores indicada entre os parenteses


Podemos criar uma tabela no banco de dados com o comando create table, copiando a estrutura de uma tabela e as tuplas que são resultado de um comando SQL
Por exemplo, fazemos uma seleção e depois criamos a tabela com o resultado, desta forma
       CREATE TABLE depto01 AS (SELECT * FROM departamentos WHERE id_depto_superior IN ('A01','B01'));
       CREATE TABLE depto02 AS (SELECT * FROM departamentos WHERE id_depto_superior IN ('D01','B01'));     
Estas tabelas ficam GRAVADAS no disco rígido e passam a constar no dicionário de dados da base.
Podemos também criar uma tabela 'temporária' (fica em memória RAM somente enquanto se executa a sessão de conexão com o SGBD).
Este 'tipo de tabela' é implementado em vários SGBDs.
Criando uma tabela temporária e a seguir mostrando seu conteúdo
       CREATE TEMPORARY TABLE func01 AS (SELECT * FROM funcionarios WHERE dt_contratacao<'2000-01-01');
       SELECT * FROM func01;