BD II – SQL – Cláusula Where e seus operadores

Condições e Operadores para trabalhar com a cláusula Where (os comandos que suportam a cláusula Where são: SELECT, UPDATE e DELETE). Criando a tabela produto para os exemplos:

CREATE TABLE PRODUTO (
  PROCODIGO BIGINT PRIMARY KEY,
  PRODESCRICAO VARCHAR(150) NOT NULL,
  PROTIPO VARCHAR(50) NOT NULL,
  PROQUANTIDADE INTEGER NOT NULL,
  PROVALOR NUMERIC(8,2) NOT NULL
);

– Inserindo os dados para os exemplos:

INSERT INTO PRODUTO (PROCODIGO,PRODESCRICAO,PROTIPO,
PROQUANTIDADE,PROVALOR)
VALUES (1,'VIDEO GAME','ELETRÔNICOS',100,400.53);

INSERT INTO PRODUTO (PROCODIGO,PRODESCRICAO,PROTIPO,
PROQUANTIDADE,PROVALOR)
VALUES (2,'IMPRESSORA','INFORMÁTICA',150,367.60);

INSERT INTO PRODUTO (PROCODIGO,PRODESCRICAO,PROTIPO,
PROQUANTIDADE,PROVALOR)
VALUES (3,'TELEVISOR','ELETRÔNICOS',400,1600.53);

INSERT INTO PRODUTO (PROCODIGO,PRODESCRICAO,PROTIPO,
PROQUANTIDADE,PROVALOR)
VALUES (4,'CELULAR','TELEFONE',300,150.00);

INSERT INTO PRODUTO (PROCODIGO,PRODESCRICAO,PROTIPO,
PROQUANTIDADE,PROVALOR)
VALUES (5,'CÂMERA DIGITAL','CÂMERAS',200,400.00);

INSERT INTO PRODUTO (PROCODIGO,PRODESCRICAO,PROTIPO,
PROQUANTIDADE,PROVALOR)
VALUES (6,'PROCESSADOR','INFORMÁTICA',100,400.53);

INSERT INTO PRODUTO (PROCODIGO,PRODESCRICAO,PROTIPO,
PROQUANTIDADE,PROVALOR)
VALUES (7,'FILMADORA DIGITAL','DIGITAIS',140,700.00);

INSERT INTO PRODUTO (PROCODIGO,PRODESCRICAO,PROTIPO,
PROQUANTIDADE,PROVALOR)
VALUES (8,'MONITOR','INFORMÁTICA',50,231.00);

INSERT INTO PRODUTO (PROCODIGO,PRODESCRICAO,PROTIPO,
PROQUANTIDADE,PROVALOR)
VALUES (9,'CPU DELL','INFORMÁTICA',65,1300.13);

– Operador = (igual a)

SELECT PRODESCRICAO,PROTIPO FROM PRODUTO WHERE PROTIPO = 'ELETRÔNICOS';

– Operador > (maior que)

SELECT PRODESCRICAO,PROTIPO,PROVALOR FROM PRODUTO
WHERE PROVALOR > 1000;

– Operador < (menor que)

SELECT PRODESCRICAO,PROTIPO,PROVALOR FROM PRODUTO
WHERE PROVALOR < 1000;

– Operador >= (maior ou igual)

SELECT PRODESCRICAO,PROTIPO,PROVALOR FROM PRODUTO
WHERE PROVALOR >= 1000;

– Operador <= (menor ou igual)

SELECT PRODESCRICAO,PROTIPO,PROVALOR FROM PRODUTO
WHERE PROVALOR <=1000;

– Operador <>  (diferente)

SELECT PRODESCRICAO,PROTIPO,PROVALOR FROM PRODUTO
WHERE PROTIPO <> 'INFORMÁTICA';

– Operadores lógicos – Operador lógico OR (ou)

SELECT PRODESCRICAO,PROTIPO,PROVALOR FROM PRODUTO
WHERE PROTIPO = 'INFORMÁTICA' OR PROVALOR >= 500;

– Operador lógicos AND (e)

SELECT PRODESCRICAO,PROTIPO,PROVALOR FROM PRODUTO
WHERE PROTIPO = 'INFORMÁTICA' AND PROVALOR >= 500;

– Operador IN (filtra os dados por uma lista de argumentos)

SELECT PRODESCRICAO,PROTIPO,PROVALOR FROM PRODUTO
WHERE PROTIPO IN ('INFORMÁTICA','DIGITAIS');

– Operador NOT IN (filtra os dados que não estão na lista)

SELECT PRODESCRICAO,PROTIPO,PROVALOR FROM PRODUTO
WHERE PROTIPO NOT IN ('INFORMÁTICA','DIGITAIS');

– Operador Between (permite encontrar valores por faixa)

SELECT PRODESCRICAO,PROTIPO,PROVALOR FROM PRODUTO
WHERE PROVALOR BETWEEN 400 AND 500;

– Operador Not Between (mostra dos os valores, exceto os que estão na faixa)

SELECT PRODESCRICAO,PROTIPO,PROVALOR FROM PRODUTO
WHERE PROVALOR NOT BETWEEN 400 AND 500;

——– CLÁUSULA WHERE COM O COMANDO UPDATE. ALTERANDO O NOME DO PRODUTO PELA CHAVE PRIMÁRIA

UPDATE PRODUTO
SET PRODESCRICAO = 'VIDEO-GAME'
WHERE PROCODIGO = 1;

ALTERANDO O SALDO (PROQUANTIDADE) DO PRODUTO (VIDEO-GAME)

UPDATE PRODUTO
SET PROQUANTIDADE = 99
WHERE PROCODIGO = 1;

ALTERANDO O NOME DO PRODUTO E O SEU SALDO (SUBTRAINDO 1)

UPDATE PRODUTO
SET PRODESCRICAO = 'VIDEO-GAME',
PROQUANTIDADE = PROQUANTIDADE - 1
WHERE PROCODIGO = 1;

ALTERANDO O VALOR DE TODOS OS PRODUTOS AUMENTANDO EM 3%

UPDATE PRODUTO
SET PROVALOR = PROVALOR + (PROVALOR * 0.03);

ALTERANDO O VALOR EM 3% DOS PRODUTOS DE INFORMÁTICA

UPDATE PRODUTO
SET PROVALOR = PROVALOR + (PROVALOR * 0.03)
WHERE PROTIPO = 'INFORMÁTICA';

ALTERANDO O VALOR SOMENTE DOS PRODUTOS DO TIPO INFORMÁTICA OU TELEFONE OBS.nesse caso não é possível utilizar AND e sim OR

UPDATE PRODUTO
SET PROVALOR = PROVALOR + (PROVALOR * 0.03)
WHERE PROTIPO = 'INFORMÁTICA' OR
PROTIPO = 'TELEFONE';

USANDO A CLÁUSULA IN PARA A QUESTÃO ACIMA

UPDATE PRODUTO
SET PROVALOR = PROVALOR + (PROVALOR*0.03)
WHERE
PROTIPO IN ('INFORMÁTICA','TELEFONE');

CLÁUSULA WHERE COM O COMANDO DELETE.

DELETE FROM PRODUTO
WHERE PROTIPO IN ('INFORMÁTICA','TELEFONE');

OPERADOR LIKE e ILIKE Usa-se o operador LIKE em uma cláusula WHERE para procurar uma string padrão. Porcentagem (%) – Qualquer carácter a partir da posição especificada.

Mostra todos os produtos que contenham a palavra VIDEO em qualquer lugar da coluna PRODESCRICAO;

SELECT * FROM PRODUTO
WHERE PRODESCRICAO LIKE '%VIDEO%';

Mostra todos produtos que começam com VIDEO na coluna PRODESCRICAO.

SELECT * FROM PRODUTO
WHERE PRODESCRICAO LIKE 'VIDEO%';

Mostra todos os produtos que terminam coma palavra GAME.

SELECT * FROM PRODUTO
WHERE PRODESCRICAO LIKE '%GAME';

O iLIKE funciona de maneira semelhante, porém ele ignora Maiúsculas e Minúsculas.

SELECT * FROM PRODUTO
WHERE PRODESCRICAO iLIKE '%GAME';

é o mesmo resultado de:

SELECT * FROM PRODUTO
WHERE PRODESCRICAO iLIKE '%gAmE';

————————- Cláusula ORDER BY Este comando ordena o resultado do select. Ordena em ordem alfabética do menor ao maior (que é o padrão).

SELECT * FROM PRODUTO
ORDER BY PRODESCRICAO;

Ordenando pelo valor do produto.

SELECT * FROM PRODUTO
ORDER BY PROVALOR;

Ordenando pelo valor em ordem decrescente (maior pro menor).

SELECT * FROM PRODUTO
ORDER BY PROVALOR DESC;

A cláusula ORDER BY pode ser utilizada junto com a cláusula where.

SELECT * FROM PRODUTO
WHERE PROCODIGO IN (2,3,4)
ORDER BY PROVALOR;
Leia mais em:
Leia mais em:

Referências e mais exemplos: http://www.devmedia.com.br/sql-server-2005-clausula-where-e-seus-operadores/17291 http://www.cinelformacao.com/sql/files/ud3/ud3cap3p6.htm

Esse post foi publicado em BD II - Banco de Dados II e marcado . Guardar link permanente.

Uma resposta para BD II – SQL – Cláusula Where e seus operadores

  1. wilian lucas disse:

    muito bom o material . Agora é prova kkkkk

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s