More SQL exercises
From GeoBox
Modificar registos
Um registo.
UPDATE contribuinte SET nome = 'CRISTIANA TOMÁS' WHERE nome = 'CRISTIANA TOMAS'
Vários registos em simultâneo.
UPDATE contribuinte SET observacoes = 'Viva o Braga' WHERE nome ilike '%cristiana%'
Apagar mais do que um registo.
DELETE FROM contribuinte WHERE nome ilike '%cristiana%' AND codpostal LIKE '4750%'
Relações
SELECT * FROM profissao WHERE codprofissao = 35
SELECT * FROM contribuinte WHERE codprofissao = 35
SELECT nome, codpostal, codprofissao FROM contribuinte WHERE nome ilike '%cristiana%'
Finalmente, juntamos os contribuintes com as profissões.
SELECT nome, codpostal, designacao FROM contribuinte, profissao WHERE nome ilike '%cristiana%' AND contribuinte.codprofissao = profissao.codprofissao
Exercício (resolvido)
Saber o nome de todos que trabalham numa determinada profissão, por exemplo "TRATADOR DE PEIXE, CRUSTÁCEOS E MOLUSCOS"
Primeira tentativa: contar quantos existem.
SELECT COUNT(*) FROM contribuinte WHERE codprofissao = 453
Segunda tentativa: mostrar o nome de todos que têm essa dada profissão.
SELECT nome FROM contribuinte WHERE codprofissao = 453
E se forem todos os que trabalham em profissões relacionadas com peixe?
Exercício (para resolver)
SELECT nome, designacao FROM contribuinte, profissao WHERE contribuinte.codprofissao = profissao.codprofissao AND designacao ilike '%peixe%'

