Oi Priscila, > Subject: Re: [pgbr-geral] Otimizar consulta com LEFT JOIN > To: Comunidade PostgreSQL Brasileira
> Porém, se eu executasse desse jeito que está no exemplo, ele não > reclamaria > que está faltando entrada para a tabela ps e pf no segundo select? E se eu > colocasse os inners para essas tabelas não precisaria fazer o UNION ALL... > fiquei confusa. No segundo select as tabelas PS e PF não precisam ser consultadas porque o objetivo da segunda consulta é trazer apenas os registros que não têm valores na tabela que as liga com a tabela principal. Essa é a idéia que torna reescrever a query algo vantajoso: ao invés de consultar registro a registro para ver se tem ou não tem correspondência em cada uma das tabelas filhas, eu divido a consulta em duas partes: uma traz primeiro todos os registros que *tenham* todas as tabelas filhas, depois junto isso (via UNION ALL para não precisar conferir duplicidades) com todos os registros que *não têm* nenhum registro nas tabelas filhas. Pela forma como as tabelas se interligam, neste caso eu não preciso consultar todas as tabelas filhas, pois se não existir a correspondência em uma delas eu já deduzo que as outras não se aplicam. Atenciosamente, Mozart Hasse _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
