2. Aula 06 - Banco de dados
02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, COMPARAÇÃO, LÓGICOS, AUXILIARES)
Logusti.com.br
Professor Anderson Henrique
3. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● SUBCONSULTAS é um recurso muito útil quando há necessidade de fazer consultas
encadeadas em uma tabela de base de dados. Trata-se de uma subquery, que é uma
consulta definida após a cláusula WHERE do comando SELECT.
● Considere a necessidade de fazer uma consulta para apresentar os nomes de todos os
funcionários de uma tabela que possuam seu salário igual aos salários dos funcionários
demitidos que estejam cadastrados em outra tabela (morta).
Logusti.com.br
Professor Anderson Henrique
4. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● SELECT * FROM table1 WHERE salario = (SELECT salario FROM table2);
● SELECT * FROM table1 WHERE estado_civil = (SELECT estado_civil FROM table2);
Logusti.com.br
Professor Anderson Henrique
5. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● OPERADORES ARITMÉTICOS são ferramentas responsáveis pela operações e cálculos
matemáticos simples obtidos com a T-SQL. Desta forma, é possível efetuar as quatro
operações matemáticas: adição (operador +), subtração (operador -), multiplicação
(operador *) e divisão (operador /), e ainda o resto da divisão (operador %).
● Considere a necessidade de simular um aumento de salário em R$ 250,00 sobre o
salário de cada funcionário.
● Considere a necessidade de reajuste salarial de 20% sobre o salário de cada
funcionário.
Logusti.com.br
Professor Anderson Henrique
6. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● SELECT nome, salario + 100 FROM table1;
● SELECT nome, salario * 1.20 FROM table1;
● Também podemos efetuar o cálculo de expressões aritméticas que envolvem dois ou
mais operadores:
● SELECT 2 + 3 * 5; SELECT (2 + 3) * 5;
Logusti.com.br
Professor Anderson Henrique
7. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● OPERADORES RELACIONAIS são ferramentas utilizadas na definição de condições e, que há
necessidade de comparação entre dois valores e assim extrair uma variedade de consultas de
uma determinada tabela. Os operadores relacionais são: igualdade (operador =), diferente
(operador <>), maior que (operador >), menor que (operador <), maior ou igual a (operador
>=), menor ou igual a (operador <=), igual para NULL (operador <=>).
Professor Anderson Henrique
8. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● SELECT * FROM table1 WHERE salario <= 2100;
● SELECT * FROM table1 WHERE idade > 18;
● SELECT * FROM table1 WHERE departamento = ‘5’;
Professor Anderson Henrique
9. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● OPERADORES LÓGICOS são ferramentas utilizadas em 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. É necessário trabalhar com
operadores lógicos (booleanos), os quais são: conjunção (operador AND), disjunção (operador
OR), negação (operador NOT).
● Os operadores lógicos são AND e OR, utilizados para conectar critérios de pesquisa a cláusulas
estabelecidas com o argumento WHERE. O operador lógico NOT inverte o resultado de um
critério de pesquisa.
Professor Anderson Henrique
10. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● O operador do tipo AND é utilizado quando dois ou mais relacionamentos lógicos de uma
determinada condição necessitam ser verdadeiros. Observe a tabela-verdade para este tipo de
operador:
Professor Anderson Henrique
11. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● SELECT * FROM table1 WHERE (departamento = ‘3’) AND (funcao = ‘programador’);
● SELECT * FROM table1 WHERE (sexo = ‘F’) AND (salario >= 2800);
Professor Anderson Henrique
12. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● O operador do tipo OR é utilizado quando pelo menos um dos relacionamento lógicos de uma
condição necessita ser verdadeiro. Observe abaixo a tabela-verdade para este tipo de
operador:
Professor Anderson Henrique
13. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● SELECT * FROM table1 WHERE (departamento = ‘3’) OR (funcao = ‘programador’);
● SELECT * FROM table1 WHERE (sexo = ‘F’) OR (salario >= 2800);
Professor Anderson Henrique
14. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● O operador do tipo NOT é utilizado quando é preciso estabelecer que uma determinada
condição deva não ser verdadeira ou deve não ser falsa. O operador NOT inverte o estado
lógico de uma condição. Observe abaixo a tabela-verdade:
Professor Anderson Henrique
15. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● SELECT * FROM table1 WHERE NOT (funcao = ‘programador’);
● SELECT * FROM table1 WHERE NOT (sexo = ‘F’) OR NOT (salario >= 2800);
Professor Anderson Henrique
16. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● OPERADORES AUXILIARES são ferramentas que facilitam a definição de condições a serem
utilizadas com os comandos SELECT, UPDATE e DELETE, quando for utilizado o argumento
WHERE. Os operadores auxiliares mais comuns são:
Professor Anderson Henrique
17. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● O operador auxiliar IS NULL é utilizado quando há necessidade de verificar se um determinado
campo da tabela possui registrado o valor NULL, ou seja, se um determinado campo está vazio.
● Se alteramos uma determinada tabela, adicionando um novo atributo (coluna), e após essa
inserção selecionar todos os registros, esse novo atributo (coluna) retornará com todos os
registros no valor NULL.
● Precisamos alterar alguns registros inserindo valores, e outros permanecerão como NULL, após
essas modificações, podemos verificar quais registros possuem o valor NULL nesse novo
atributo (coluna) que foi adicionado.
Professor Anderson Henrique
18. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● SELECT nome, salario, dependentes FROM table1 WHERE dependentes IS NULL;
● SELECT nome, salario, dependentes FROM table1 WHERE NOT dependentes IS NULL;
Professor Anderson Henrique
19. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● O operador auxiliar BETWEEN permite definir uma faixa de valores para a cláusula WHERE em
uma condição. Dessa forma, é possível extrair consultas de registros situados em uma faixa de
valores (intervalo).
● Considere a necessidade de obter-se uma consulta de todos os registros de funcionários
apresentando o nome e números de dependentes que recebem salários entre 1900 e 2500;
Também considere a necessidade de obter-se uma consulta de todos os registros de
funcionários apresentando o nome e número de dependentes que tem a idade entre 18 e 29
anos.
Professor Anderson Henrique
20. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● SELECT nome, dependentes FROM table1 WHERE salario BETWEEN 1900 AND 2500;
● SELECT nome, dependentes FROM table1 WHERE idade BETWEEN 18 AND 29;
● Considere a necessidade de apresentar os nomes e salários dos funcionários que ganham
abaixo de 1900 e acima de 2500, utilizando para isso o operador lógico NOT.
● SELECT nome, salario FROM table1 WHERE salario NOT BETWEEN 1900 AND 2500;
Professor Anderson Henrique
21. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● 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. Os valores da lista
devem ser indicados entre apóstrofos.
● Apresentar uma consulta dos nomes e departamentos dos registros cujo campo departamento
possua os valores 2 ou 3; ou, apresentar uma consulta dos nomes e departamentos dos
registros cujo campo uf não possua os valores DF ou GO.
Professor Anderson Henrique
22. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● SELECT nome, departamento FROM table1 WHERE departamento IN(‘2’, ‘3’);
● SELECT nome, departamento FROM table1 WHERE uf NOT IN(‘DF’, ‘GO’);
Professor Anderson Henrique
23. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● O operador auxiliar LIKE é utilizado para verificar e comparar sequências de caracteres dentro
de um determinado campo, sendo utilizado a cláusula WHERE.
● O operador auxiliar LIKE aceita o uso de curinga, aumentando assim a sua capacidade de
operação. Neste sentido, são aceitos como operadores curingas os símbolos de porcentagem
(%) que representa zero, um ou vários caracteres e underline (_) que representa sempre um
único caractere.
● Observe a seguinte tabela:
Professor Anderson Henrique
25. 02 – SUBCONSULTAS, OPERADORES (ARITMÉTICOS, RELACIONAIS, LÓGICOS,
AUXILIARES)
● Executa uma busca dos registros de todos os funcionários cujo nome começa com o caractere
A:
● SELECT nome FROM table1 WHERE nome LIKE ‘A%’;
● Executa uma busca dos registros de todos os funcionários cujo segunda letra do nome começa
com o caractere A:
● SELECT nome FROM table1 WHERE nome LIKE ‘_A%’;
● Executa uma busca dos registros de todos os funcionários que possuem em qualquer posição
do seu nome a sequência de caracteres AN:
● SELECT nome FROM table1 WHERE nome LIKE %AN%’;