Você está na página 1de 5

Operadores Between e Not Between

Banco de Dados consultas parte 2


Professor:Jefferson
Este operador propicia a pesquisa por uma determinada coluna e selecionando as linhas cujo valor da coluna esteja dentro de uma faixa determinada de valores, sem a necessidade dos operadores >=, <= e AND tanto o valor1 quanto o valor2 tm de ser do mesmo tipo de dado da coluna. Sintaxe - where <nome da coluna> between <valor1> AND <valor2> - where <nome da coluna> Not between <valor1> AND <valor2>

Operadores Between e Not Between


Problema: - Listar o cdigo e a descrio dos produtos que tenham o valor unitrio na faixa de R$ 0,32 at R$2,00. Sintaxe: select codigo_produto, descricao_produto from produto where val_unit between 0.32 AND 2.00;

Operadores baseados em listas IN e NOT IN


Where <nome da coluna> IN <valores>; Where <nome da coluna> NOT IN <valores>; Estes operadores pesquisam registros que esto ou no contidos no conjunto de <valores> fornecido. Estes operadores minimizam o uso dos operadores =,<>, AND e OR.

Operadores baseados em listas IN e NOT IN


Problema: - Listar os vendedores que so da faixa de comisso A e B. Sintaxe: select nome_vendedor from vendedor where faixa_comissao In (A, B);

Operadores baseados em valores desconhecidos: IS NULL e IS NOT NULL


Where <nome da coluna> IS NULL; Where <nome da coluna> IS NOT NULL; A utilizao do valor nulo (NULL) muito problemtica, pois cada implementao da linguagem pode adotar qualquer representao p/ o valor nulo.O resultado da aplicao destes operadores permite o tratamento de valores nulos em colunas de uma tabela, selecionando as linhas correspondentes.

Operadores baseados em valores desconhecidos: IS NULL e IS NOT NULL


Problema: - Mostrar os clientes que no tenham inscrio estadual. Sintaxe: select * from cliente where IE IS NULL;

Realizando Clculos com Informao Selecionada


Com SQL pode-se criar um campo que no pertena tabela original, e seja fruto de clculo sobre alguns campos da tabela Problema: - Mostrar o novo salrio fixo dos vendedores, de faixa de comisso C, calculado com base no reajuste de 75% acrescido de R$120,00 de bonificao.Ordenar pelo nome do vendedor.

Realizando Clculos com Informao Selecionada


Sintaxe: select nome_vendedor, (salariofixo * 1.75 )+120 from vendedor where faixa_comissao = C order by nome_vendedor;

Utilizando Funes de Agregao sobre Conjuntos


Resultam sempre em uma nova coluna no resultado da pesquisa. Buscando Mximos e Mnimos (MAX, MIN)
Problema: - Mostrar o menor e o maior salrios da tabela vendedor. Sintaxe: select Min(salario_fixo), Max(salario_fixo) from vendedor;

Utilizando Funes de Agregao sobre Conjuntos


Totalizando dos valores de colunas (SUM)
Problema: - Mostrar a quantidade total pedida p/ o produto vinho de codigo 78 na tabela itempedidos; Sintaxe: select sum(quantidade), from itempedidos where codigoproduto = 78;

Utilizando Funes de Agregao sobre Conjuntos


Calculando Mdias (AVG)
Problema: - Qual a mdia dos salrios fixos dos vendedores? Sintaxe: select avg(salariofixo), from vendedores;

Utilizando Funes de Agregao sobre Conjuntos


Contando os Regsitros (COUNT)
Problema: -Quantos vendedores ganham acima de R$ 2.500,00 de salario? Sintaxe: select count(*) from vendedores where salariofixo >2500; PS:O comando COUNT, quando utilizado sem a clusula WHERE, realiza a contagem das linhas da tabela.

Utilizando Funes de Agregao sobre Conjuntos


Utilizando a clusula DISTINCT
Elimina repeties de valores em relao a uma coluna. Problema: - Quais as unidades de produtos, diferentes, na tabela produto? Sintaxe: select DISTINCT unidade from produto; IMPORTANTE: com a utilizao de DISTINCT no se classificam os dados de sada.

Agrupando Informaes Selecionadas ( Group BY e Having)


A funo de agregao por si prpria produz um nmero simples p/ uma tabela; A clusula organiza esse sumrio de dados em grupos, produzindo informao sumarizada p/ os grupos definidos na tablea obejto de seleo; A clusula HAVING realiza as restries das linhas resultantes da mesma forma que a clusula WHERE o faz em um SELECT.

Agrupando Informaes Selecionadas ( Group BY e Having)


Forma:
select <nome da(s) coluna(s)> from <tabela> where condio (oes) group by <nome da (s) colunas (s) >; Having <condio (es)>;

Agrupando Informaes Selecionadas ( Group BY e Having)


Problema: - Listar o nmero de produtos que cada pedido contm. Sintaxe: select numero_pedido, count(*) from itens_pedidos group by numero_pedido; PS:geralmente a clusula GROUP BY utilizada em conjunto com as operaes COUNT e AVG.

Agrupando Informaes Selecionadas ( Group BY e Having)


Utilizando com HAVING
Problema: - Listar os pedidos que tm mais que trs produtos. Sintaxe:
select numero_pedido, count (*) from item_pedidos group by numero_pedido; Having count (*) > 3; A clusula GROUP BY pode ser utilizada em conjunto com qualquer outra clusula.

Você também pode gostar