A consulta cria uma tabela virtual baseada em tabelas existentes ou constantes transformadas em tabelas.
Pode-se colocar parênteses arbitrariamente em torno das consultas, ou utilizar parênteses para controlar a ordem de avaliação das operações INTERSECT, EXCEPT e UNION. Estas operações são avaliadas da esquerda para a direita quando não existem parênteses presentes, com exceção das operações INTERSECT, que são avaliadas antes das operações de UNION e EXCEPT.
As palavras chave ALL e DISTINCT determinam se as linhas duplicadas são eliminadas do resultado da operação. Se for especificada a palavra chave DISTINCT, então o resultado não terá linhas duplicadas. Se for especificada a palavra chave ALL, então poderão existir linhas duplicadas no resultado, dependendo da existência de linhas duplicadas na entrada. DISTINCT é o padrão, portanto se não for especificado nem ALL nem DISTINCT as linhas duplicadas serão eliminadas. Por exemplo, UNION constrói um ResultSet intermediário com todas as linhas das duas consultas, e elimina as linhas duplicadas antes de retornar as linhas remanescentes. UNION ALL retorna todas as linhas das duas consultas como resultado.
Dependendo da operação especificada, se o número de cópias de uma determinada linha na tabela à esquerda for L, e o número de cópias desta linha na tabela à direita for R, então o número de linhas duplicadas desta determinada linha contidas na tabela de saída será (assumindo que a palavra chave ALL foi especificada):