17
26/05/2016 1 BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com [email protected] OPERAÇÕES LÓGICAS AND (E) Avalia as condições e devolve um valor verdadeiro caso ambas condições forem corretas; OR (OU) Avalia as condições e devolve um valor verdadeiro se algum for correto NOT (NEGAÇÃO) – Devolve o valor contrário da expressão.

BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

  • Upload
    dokhanh

  • View
    226

  • Download
    4

Embed Size (px)

Citation preview

Page 1: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

1

BANCO DE DADOS

Prof. Fabiano Taguchihttp://fabianotaguchi.wordpress.com

[email protected]

OPERAÇÕES LÓGICAS

AND (E) – Avalia as condições e devolve um valorverdadeiro caso ambas condições forem corretas;

OR (OU) – Avalia as condições e devolve um valorverdadeiro se algum for correto

NOT (NEGAÇÃO) – Devolve o valor contrário da expressão.

Page 2: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

2

EXEMPLOS

AND (E) - codigo = 1 and codigo = 2

OR (OU) – codigo = 1 or codigo = 2

NOT (NEGAÇÃO) – codigo not in (1,2,3)

CONSULTAS SQL

Page 3: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

3

CONSULTAS SQL

Uma consulta SQL envolve atributos, tabelas e umparâmetro de pesquisa. A estrutura básica de umaconsulta é apresentado abaixo:

select atributos

from tabela

where pesquisa;

CONSULTAS SQL

No exemplo abaixo é pesquisado os nomes e os saláriosque estão registrados na tabela funcionário. Não éutilizado nenhum parâmetro de pesquisa, então é exibidotodos os registros.

select nome, salario

from funcionario;

Page 4: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

4

CONSULTAS SQL

OUTROS EXEMPLOS:

select idPedido, dataPedido

from Pedidos

where id = Pedido

CLÁUSULA DISTINCT

O SQL permite que resultados duplicados sejam exibidosem consultas, para isso é utilizado a cláusula distinct, naconsulta abaixo é mostrado o nome dos funcionários semrepetição:

select distinct nome

from funcionario;

Page 5: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

5

CLÁUSULA *

O asterisco (*) faz a seleção de todos os atributos deuma determinada tabela, como na consulta abaixo:

select *

from funcionario;

CLÁUSULA WHERE

A cláusula where especifica as condições que oresultado precisa satisfazer. Na consulta abaixo émostrado o nome e o salário dos funcionários que recebemmais de 2000.

select nome, salario

from funcionario

where salario<2000;

Page 6: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

6

CLÁUSULA WHERE

É possível utilizar também operadores lógicos (and, ore not) nas cláusulas where. No exemplo temos umaconsulta onde os salários sejam maiores que 200 e a idademenor que 30.

select nome, salario

from funcionario

where salario<2000 AND idade<30;

OPERAÇÕES COM STRINGS

Page 7: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

7

OPERADOR LIKE

O operador like permite que strings sejam utilizadospor combinação na hora de consultas. No exemplo abaixoé realizado uma consulta com nomes de funcionários queiniciam por Pedro.

select nome

from funcionario

where nome like‘Pedro%’

OPERADOR LIKE

Para que seja pesquisado o nome de todos osfuncionários que contém Pedro no nome, fazemos:

select nome

from funcionario

where nome like‘%Pedro%’

Page 8: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

8

OPERADOR LIKE

No exemplo é retornado todos os endereços da tabelaciente que possuem o termo asi.

select nome

from cliente

where endereco like‘%asi%’

OPERADORES LIKE

LIKE ‘A%’ -> Palavras que iniciam com A;

LIKE ‘%A’ -> Palavras que terminam com A;

LIKE ‘%A%’ -> Palavras que tenham a letra em umaposição qualquer;

LIKE ‘A_’ -> String de dois caracteres que tenham aprimeira letra como sendo A;

LIKE ‘_A’ -> String de dois caracteres que tenham aúltima letra sendo A;

Page 9: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

9

OPERADORES LIKE

LIKE ‘_A_’ -> Strings com três letras, que tenham asegunda letra como sendo A;

LIKE ‘%A_’ -> Todas palavras que tenham o caractere Acomo sendo a segunda letra, independente do primeiroe do ultimo caractere;

LIKE ‘_A%’ -> Palavras que tenham a letra A na segundaposição e o primeiro caractere podendo serrepresentando por qualquer outro.

OPERADOR BETWEEN

O operador between é usado para indicar umdeterminado intervalo de valores a ser utilizado em umaconsulta. No exemplo é consultado valores cujo código é 8e 9.

select *

from funcionarios

where codigo between 8 and 9;

Page 10: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

10

OPERADOR AS

O operador as é utilizado para renomear tabelas eatributos. No exemplo abaixo é listado o nome e o códigodos pedidos de cada cliente, renomeando a colunapedCodgo para codPedido.

select nome, pedCodigo as codPedido

from Cliente, Pedido

where codigo = pedCodigo;

ORDENANDO CONSULTAS

Page 11: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

11

ORDER BY

É possível ordenar os resultados em ordem alfabética com ocomando order by, no exemplo é listado em ordem alfabéticao nome dos funcionários do setor financeiro.

select distinct funcionario.nome

from funcionario, departamento

where funcionario.codDepto = departamento.codDeptoAND departamento.nome = ‘financeiro’

order by funcionario.nome;

ORDER BY - PARÂMETROS

A cláusula order by aceita os parâmetros asc ou desc, querepresentam respectivamente ascendente e descendente.

select distinct a.nome_cliente, a.end_cliente

from clientes

order by a.nome_clientes asc;

Page 12: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

12

GROUP BY

É usado para separar os registros selecionados em gruposespecíficos. No exemplo abaixo os registros são agrupadospelos campo CPF.

select cpf, avg(salario)

from funcionarios

group by cpf;

HAVING

O comando having é usado para expressar a condição quedeve satisfazer cada grupo em uma consulta.

select cidade, sum(salario)

from funcionarios

group by cpf

having sum(salario) > 1500;

Page 13: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

13

FUNÇÕES DE AGREGAÇÃO

FUNÇÕES DE AGREGAÇÃO

As funções de agregação operam sobre uma coluna databela e retornam um valor a partir de:

AVG (média)

MIN (mínimo)

MAX (máximo)

SUM (soma)

COUNT (contagem)

Page 14: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

14

FUNÇÕES DE AGREGAÇÃO

EXEMPLO:

Encontrar o número de registros da tabela Cliente

select count(*)

from cliente

FUNÇÕES DE AGREGAÇÃO

EXEMPLO:

Extrai a média aritmética de um grupo

select avg(salario)

from cliente

Page 15: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

15

FUNÇÕES DE AGREGAÇÃO

EXEMPLO:

Encontrar a soma dos salários dos funcionários:

select sum(salario)

from funcionari

EXERCÍCIOS

Page 16: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

16

EXERCÍCIO

EXERCÍCIO

01 - A partir da estrutura de tabelas já criadas anteriormente,faça inserções de:

05 clientes na tabela Cliente;

07 produtos na tabela Produtos;

03 categorias na tabela Categorias;

02 transportadoras;

03 pedidos com pelos menos dois itens cada;

02 vendedores.

Page 17: BANCO DE DADOS - fabianotaguchi.files.wordpress.com · EXERCÍCIOS 03 –Construa comandos SQL para:

26/05/2016

17

EXERCÍCIO

02 - A partir das inserções, quais os comandos SQL para:

Listar todos os produtos cadastrados;

Listar o id, nome, e endereços dos clientes;

Listar todos os produtos cadastrados;

Quais os clientes cadastrados que tem o nomecomeçados por A;

Quais os clientes que possuem no nome a palavra ‘erto’

EXERCÍCIOS

03 – Construa comandos SQL para:

Selecionar todos os funcionários em uma tabela comsalário maiores que R$ 1.000,00 que estejam nodepartamento de vendas;

Selecionar todos os funcionários que pertence aosdepartamentos 1 e 3;

Retornar a soma dos salários dos funcionários cujodepartamento são de 1 a 4 agrupando pelodepartamento com a soma dos salários maiores que R$1.300,00.