A empresa Virtual Data Comunication Ltda. Deseja fazer uma simulação de aumento de salário em R$ 100,00 sobre o salário de cada funcionário SELECT NOME, SALARIO + 100 FROM cadfun; Esta forma de apresentação de dados chama-se campos calculados. O valor 100 não é adicionado fisicamente ao banco de dados isto é apenas um recurso visual Confira com SELECT NOME, SALARIO FROM cadfun;
Ex:. Simular um aumento de 20% no salário de todos SELECT NOME, SALARIO * 1.20 FROM cadfun;
Operadores de comparação OPERADOR DESCRIÇÃO > MAIOR QUE < MENOR QUE = IGUAL A <> DIFERENTE DE >= MAIOR OU IGUAL A <= MENOR OU IGUAL A <=> IGUAL PARA NULL
SELECT * FROM cadfun WHERE DEPTO = '5'; SELECT * FROM cadfun WHERE FUNCAO = 'VENDEDOR'; SELECT * FROM cadfun WHERE SALARIO <= 1700;
Existem ocasiões em que é necessário trabalhar com o relacionamento de duas ou mais condições (critérios de pesquisa) ao mesmo tempo, e realizar testes múltiplos para obter consultas mais elaboradas. Para estes casos é necessário trabalhar com operadores lógicos OPERADORES LÓGICOS OPERADOR AND OR NOT DESCRIÇÃO OPERADOR DE CONJUNÇÃO OPERADOR DE DISJUNÇÃO OPERADOR DE NEGAÇÃO
Ex:. Apresentar uma consulta dos funcionários que sejam programadores e estejam locados no departamento 3 SELECT * FROM cadfun WHERE (DEPTO = '3') AND (FUNCAO = 'PROGRAMADOR'); SELECT * FROM cadfun WHERE (DEPTO = '3') OR (DEPTO = '5');
O operador lógico NOT é utilizado para inverter o resultado lógico de uma condição SELECT * FROM cadfun WHERE NOT (FUNCAO = 'VENDEDOR'); Apresentar uma listagem dos registros de todos os funcionários do departamento 3 que não ocupam o cargo de PROGRAMADOR ou de todos os funcionários que ocupam o cargo de PROGRAMADOR que não sejam do departamento 3 SELECT * FROM cadfun WHERE (DEPTO='3' AND (NOT FUNCAO = 'PROGRAMADOR')) OR ((NOT DEPTO='3') AND FUNCAO = 'PROGRAMADOR') ;
Operadores auxiliares utilizados com os comandos SELECT, UPDATE e DELETE, quando for utilizado o argumento WHERE OPERADOR IS NULL BETWEEN IN LIKE DESCRIÇÃO Verifica se um campo é vazio Verifica um valor numa faixa de valores Verifica se um valor existe na tabela Verifica um valor buscando seus semelhantes
Será feita a inserção de um novo campo na tabela cadfun para registrar o número de filhos de cada funcionário. Os funcionários que não tiverem filhos terão nesse campo o valor NULL, uma vez que estará vazio ALTER TABLE cadfun ADD FILHOS SMALLINT; ALTER TABLE morto ADD FILHOS SMALLINT; Após a criação SELECT NOME, FILHOS FROM cadfun; SELECT NOME, FILHOS FROM morto;
UPDATE cadfun SET FILHOS = 1 WHERE CODFUN = 2; UPDATE cadfun SET FILHOS = 3 WHERE CODFUN = 3; UPDATE cadfun SET FILHOS = 2 WHERE CODFUN = 5; UPDATE cadfun SET FILHOS = 1 WHERE CODFUN = 9; UPDATE cadfun SET FILHOS = 4 WHERE CODFUN = 20; UPDATE cadfun SET FILHOS = 3 WHERE CODFUN = 25; Depois de inserir SELECT NOME, FILHOS FROM cadfun;
Visualizar todos os registros que estejam com o campo FILHO sinalizado como NULL SELECT CODFUN, NOME, FILHOS FROM cadfun WHERE FILHOS IS NULL; Vamos visualizar agora todos os que não sejam NULL SELECT CODFUN, NOME, FILHOS FROM cadfun WHERE NOT FILHOS IS NULL;
O operador auxiliar BETWEEN permite definir uma faixa de valores para a clausula WHERE em uma condição Ex:. Obter uma consulta de todos os registros de funcionários apresentando nome e número de filhos que recebem salários entre 1700,00 e 2000,00 SELECT NOME, FILHOS FROM cadfun WHERE SALARIO BETWEEN 1700 AND 2000;
Ex:. Obter uma consulta de todos os registros de funcionários apresentando nome e número de filhos que recebem salários abaixo de 1700,00 e acima de 2000,00 SELECT NOME, FILHOS FROM cadfun WHERE SALARIO NOT BETWEEN 1700 AND 2000;
O operador auxiliar IN possibilita fazer a busca de um valor específico dentro de uma lista de valores definidos, retornando TRUE caso o valor específico esteja na lista Ex:. Apresentar a consulta dos nomes e departamentos dos registros cujo campo DEPTO possua os valores 2 e 3 SELECT NOME, DEPTO FROM cadfun WHERE DEPTO IN ('2', '3'); Da mesma maneira é possível fazer a consulta dos nomes e departamentos cujo campo DEPTO possua valores diferentes de 2 e 3. SELECT NOME, DEPTO FROM cadfun WHERE DEPTO NOT IN ('2', '3');
O operador auxiliar LIKE é usado para verificar e comparar sequências de caracteres dentro de um determinado campo, sendo utilizado com a cláusula WHERE. O LIKE aceita o uso de operadores curinga: % que representa zero, um ou vários caracteres _ (underline) que representa sempre um único caractere
REFERÊNCIA OPERAÇÃO WHERE SALARIO LIKE '11%' Encontra valores que começam com 11 WHERE SALARIO LIKE '%8%' WHERE SALARIO LIKE '_0%' WHERE SALARIO LIKE '1 ' Encontra valores que tenham 8 em qualquer posição Encontra valores que tenha 0 na segunda posição Encontra valores que começam com 1 e tenham 3 caracteres de comprimento WHERE SALARIO LIKE '%6' Encontra qualquer valor que termina com 6 WHERE SALARIO LIKE '_1%6' Encontra qualquer valor que tenha 1 na segunda posição e termine em 6
Ex:. Consulta de todos os funcionários que tem o nome que começa com A SELECT NOME FROM cadfun WHERE NOME LIKE 'A%' ; Ex:. Consulta de todos os funcionários que tenham como segunda letra do nome o caractere A SELECT NOME FROM cadfun WHERE NOME LIKE '_A%' ;
Consulta de todos os funcionários que possuam a sequência de caracteres AN em qualquer posição do nome SELECT NOME FROM cadfun WHERE NOME LIKE '%AN%' ; Consulta que apresenta os nomes e os salários dos registros de todos os funcionários com salário que termine com o caractere 6 SELECT NOME, SALARIO FROM cadfun WHERE SALARIO LIKE '%6';
Consulta que apresenta os nomes e os salários dos registros de todos os funcionários com salário que termine com o caractere 2, mas que tenha como segundo caractere o 5 SELECT NOME, SALARIO FROM cadfun WHERE SALARIO LIKE '_5%2';
O operador auxiliar LIKE também aceita o operador lógico NOT Ex:.Consulta de todos os funcionários exceto os que possuam a sequência de caracteres AN em qualquer posição do nome. SELECT NOME FROM cadfun WHERE NOME NOT LIKE '%AN%' ;