Considere uma tabela relacional com três atributos, onde CPF é a chave primária, como a mostrada abaixo:
Pessoa (CPF, Nome, DataNascimento)
A expressão SQL que resulta na lista das pessoas que têm homônimos, juntamente com seu número de homônimos, é:
A
SELECT Nome, CPF,
(SELECT COUNT(*) FROM Pessoa P1
WHERE P.Nome = P1.Nome AND P.CPF <> P1.CPF)
FROM Pessoa P
B
SELECT DISTINCT P1.Nome, P1.CPF, COUNT(P2)
FROM Pessoa P1, Pessoa P2
WHERE P1.Nome = P2.Nome AND P1.CPF <> P2.CPF
C
SELECT P1.Nome, P1.CPF, COUNT(*)
FROM Pessoa P1, Pessoa P2
WHERE P1.CPF <> P2.CPF AND P1.Nome = P2.Nome
GROUP by P1.Nome, P1.CPF
HAVING count(*) > 0
D
SELECT Nome, CPF, COUNT(Pessoa) FROM Pessoa
GROUP BY Nome, CPF
HAVING count(*) > 1
E
SELECT TOP 1 P1.Nome, P1.CPF, COUNT(*)
FROM Pessoa P1, Pessoa P2
WHERE P1.Nome = P2.Nome AND P1.CPF <> P2.CPF