2. Relacionando Tabelas
É possível recuperar dados de duas tabelas
●
que possuem relacionamento, ao mesmo
tempo usando o comando SELECT.
A tabela tbproduto (codigo, descricao, unidade,
●
catprod, valor) e tbcatprod (codigo, descricao)
pode servir de exemplo:
Vamos criar estas duas tabelas no mysql.
●
4. Relacionando Tabelas
Agora vamos usar o comando SELECT para
●
selecionar as duas tabelas ao mesmo tempo.
shell> select tbproduto.descricao,
tbcatprod.descricao from tbproduto, tbcatprod
where tbproduto.catprod=tbcatprod.codigo;
A sintaxe é: SELECT tabela1.campo1,
●
tabela2.campo2 from tabela1, tabela2 where
tabela1.chave_primaria=tabela2.chave_estrang
eira;
5. Ordenando registros
A clausula Order by permite ordenar o
●
resultado do SELECT por qualquer campo das
tabelas envolvidas.
shell> select tbproduto.descricao,
tbcatprod.descricao from tbproduto, tbcatprod
where tbproduto.catprod=tbcatprod.codigo order
by tbproduto.descricao;
Neste caso o resultado deste SELECT será
●
ordenado pelo campo descricao da tabela
tbproduto.
6. Ordenando registros
É possível ainda determinar a forma da
●
ordenação. ASC ou DESC
shell> select tbproduto.descricao,
tbcatprod.descricao from tbproduto, tbcatprod
where tbproduto.catprod=tbcatprod.codigo order
by tbproduto.descricao;
Neste caso o resultado deste SELECT será
●
ordenado pelo campo descricao da tabela
tbproduto em ordem ASCENDENTE. Este é o
padrão não sendo necessário informar ASC
7. Ordenando registros
shell> select tbproduto.descricao,
tbcatprod.descricao from tbproduto, tbcatprod
where tbproduto.catprod=tbcatprod.codigo order
by tbproduto.descricao DESC;
Neste caso o resultado deste SELECT será
●
ordenado pelo campo descricao da tabela
tbproduto em ordem DESCENDENTE.
8. Agrupar resultados em consultas
A clausula Group by pode ser usada para
●
dividir as linhas de uma tabela em grupos
menores.
shell> select * from tbproduto group by catprod;
9. Agrupar resultados em consultas
A clausula Having pode ser usada para
●
restringir quais grupos devem ser exibidos.
shell> select * from tbproduto group by catprod
having > 3;
10. Junções
A operação Join serve para vincular tabelas. A
●
sintaxe para uso do Join é: SELECT campos
FROM tabela1 INNER JOIN tabela2 ON
tabela1.campo1 comp tabela.camp2.
A item comp é qualquer operador de
●
comparação relacional =, <, <>, <=, =>.
11. Uniões
Para unir duas linhas de consultas utiliza-se a
●
palavras UNION.
(SELECT * FROM tabela WHERE campo=1)
●
UNION (SELECT * FROM tabela2 WHERE
cod=2);
12. Sub Consultas
Uma “SUBQUERY” é uma instrução SELECT
●
dentro de outra instrução (podendo ser um
select, insert, delete ou update).
SELECT * from tabela1 where
●
codigo=ANY(SELECT codigo FROM tabela2);
ANY ou SOME – Servem para recuperar
●
registros na consulta principal que satisfaçam a
comparação com quaisquer registros
recuperados na subconsulta)
13. Sub Consultas
ALL – Serve para recuperar apenas os
●
registros na consulta principal que satisfaçam a
comparação com todos os registros
recuperados na subconsulta.
14. Utilizando funções em consultas
Função SUM – Calcula o total de todos os
●
valores de uma coluna, ela funciona da
seguinte maneira: SUM (campo + (campo *
0.1)).
Exemplo: SELECT SUM(valor) FROM
●
tbproduto;
15. Utilizando funções em consultas
Função COUNT – Usado em conjunto com o
●
comando SELECT para contar todas as linhas
de uma tabela ou as colunas que casem com
uma condição especificada.
Exemplo: SELECT COUNT(*) FROM
●
tbprodutos;
O exemplo acima irá contar todos os registros
●
da tabela e os retornará em um campo o total
de registros da tabela.
16. Utilizando funções em consultas
Função MIN – Retorna o menor valor não vazio
●
de uma certa coluna.
Exemplo: SELECT MIN(quantidade) FROM
●
tbprodutos;
O exemplo acima retornará o menor valor do
●
campo quantidade da tabela tbprodutos.
17. Utilizando funções em consultas
Função MAX – Retorna o maior valor não vazio
●
de uma certa coluna.
Exemplo: SELECT MAX(quantidade) FROM
●
tbprodutos;
O exemplo acima retornará o maior valor do
●
campo quantidade da tabela tbprodutos.
18. Atualizar dados na Tabela
O comando UPDATE serve para atualizar
●
dados especificos na tabela.
A sintaxe do comando UPDATE é: UPDATE
●
tabela set campo=novo_valor WHERE
campo=critério;
Exemplo: UPDATE cliente SET
●
cidade='Goiania' WHERE cidade='Anápolis';
19. Apagar dados na tabela
O comando DELETE serve para apagar dados
●
especificos na tabela.
A sintaxe do comando DELETE é: DELETE
●
from tabela;
Exemplo: DELETE from cliente;
●
O exemplo acima irá apagar todos os dados da
●
tabela cliente.
Para apagar registros especificos utiliza-se a
●
clausula WHERE.
20. Usando ROLLBACK e COMMIT
COMMIT é utilizado para armazenar as
●
alterações em disco.
ROLLBACK é utilizado para ignorar as
●
alterações efetuadas desde o ínicio da sua
transação.
Sintaxe : START TRANSACTION; comandos
●
quaisquer COMMIT;