INF 325 - Operações de conjuntos sobre tabelasProf. Célio Guimarães IC - Unicamp |
As operações da teoria de conjuntos, união, interseção, subtração e multiplicação são
suportadas pelo padrão SQL. As 3 primeiras usam as palavras reservadas
union, intersect, minus, e requerem que as tabelas envolvidas sejam compatíveis
quanto à união, isto é,
tenham o mesmo número de colunas e seus atributos correspondentes sejam do mesmo tipo.
Mysql implementa apenas union, mas interseção e subtração podem ser implementadas
através de subconsultas com os operadores in e not in, respectivamente, e
com recursos adicionais. Vamos apresentá-las através de exemplos:
união: "Obtenha uma lista de todas as pessoas presentes na tabela D(p,f)"
select p from D union select f from D interseção: "Obtenha os nomes dos jogadores que ganharam um ou mais torneios" select nome from jogadores where numj in (select numj from torneios)neste exemplo a interseção aparece como uma projeção na coluna numj da tabela jogadores intersectada com a coluna numj da tabela torneios.
subtração: "Obtenha uma lista dos nomes e números dos jogadores que não ganharam torneios"
select nome, numj from jogadores where numj not in (select numj from torneios)