LINGUAGEM DE BANCO
DE DADOS
Gabriela Trevisan
Bacharel em Sistemas de Informação
Universidade Federal do Rio Grande
Pós-Graduanda em Formação Pedagógica de
Professores
ResultSet
• Eliminando tuplas repetidas do
ResultSet:
• ResultSet é o resultado de um comando SQL.
• Utiliza-se a cláusula DISTINCT.
select distinct categoria from produto;
Elimina dados repetidos.
ResultSet
• +------------------------+
• | categoria
•
•
•
•
•
•
•
•
|
+------------------------+
| SABAO
|
| AMACIANTE
|
| DESINFETANTE |
| SABAO
|
| AMACIANTE
|
| AMACIANTE
|
+--------------+
+---------------------+
| categoria
|
+---------------------+
| SABAO
|
| AMACIANTE
|
| DESINFETANTE |
+--------------+
Produto Cartesiano
• Possuímos um produto cartesiano quando mais de uma
tabela é declarada na cláusula FROM.
• Exemplo:
• Selecionar o nome do cliente e o número do pedido relacionado a
este cliente:
select nome,nro_ped
from cliente,pedido
where cliente.cod_cli=pedido.cod_cli;
+-------------+-----------------------+
| nome
|
nro_ped |
+-------------+------------------------+
| FREE SHOP
| PED01 |
| CIA LIMPAR
| PED02 |
| MINI MERCO
| PED03 |
| FREE SHOP
| PED04 |
| SUPER MERCO | PED05 |
| SUPER MERCO | PED06 |
+-------------+---------+
Produto Cartesiano
• Um produto cartesiano é a multiplicação das linhas das
tabelas envolvidas na consulta e a soma de suas
colunas;
• Toda vez que temos duas ou mais tabelas na cláusula
FROM isso acontece.
• A tabela cliente tem 6 linhas e 7 colunas.
• A tabela pedido tem 6 linhas e 4 colunas.
Produto Cartesiano
• Como a primeira cláusula que é executada em uma
consulta SQL é a cláusula FROM, podemos dizer que se
temos duas ou mais tabelas nesta, a primeira coisa que
acontece é o produto cartesiano entre elas.
• De forma que o produto cartesiano entre cliente e pedido
é uma tabela de 36 linhas e 11 colunas.
• Temos a combinação de todas as linhas de uma tabela
com todas as linhas de outra tabela.
Produto Cartesiano
• Como só queremos o nome daquele cliente que fizeram
pedidos, então cliente.cod_cli=pedido.cod_cli;
• Queremos somente o código dos cliente que fizeram
pedidos.
• A Cláusula WHERE age sobre o tabelão resultante da
cláusula FROM.
• É nele onde se procura pela chave estrangeira da tabela
pedido que seja igual a chave primária da tabela cliente.
Verificação de Campos Vazios
• Dizer quer um campo esta vazio significa dizer que este
não contém nenhum valor de seu domínio.
• select nome from cliente where telefone is not null;
• No exemplo acima estamos selecionando todos os cliente
que possuem telefone, ou seja, telefone não esta vazio.
• Podemos querer selecionar aqueles cliente que não tem
telefone cadastrado:
• select nome from cliente where telefone is null;
Exercícios
• Exclua da seleção as linhas repetidas de área de atuação
na tabela engenheiro.
• Selecionar o nome da construtora e o tipo da obra
relacionado a esta construtora:
• Retorne a data da obra operário que não há atividades.
Download

Linguagem de Banco de Dados