[firebase-br] É vantagem usar o Left Join neste casos ?

Fernando Lopes fernandolopesrn em gmail.com
Qui Nov 9 10:00:43 -03 2006


Bom dia Lista, tenho uma dúvida
   Suponha que eu existam 03 Tabelas descritas da seguinte forma
TABELA_01 (
   ID_01 INTEGER,
   ID_02 INTEGER,
   ID_03 INTEGER,
   DESCRICAO_01 VARCHAR(10));
TABELA_02 (
   ID_02 INTEGER,
   DESCRICAO_02 VARCHAR(10));
TABELA_03 (
   ID_03 INTEGER,
   DESCRICAO_03 VARCHAR(10));

  Qual dos select abaixo é mais interessante em relação a perfomance, para o
fireBird , suponhamos que existam foreing Keys que garatam a preseça que
valores válidos (que existam nas respectivas tabelas) para ID_02 e ID_03 na
TABELA_01

SELECT T1.*, T2.DESCRICAO_02, T3.DESCRICAO_03
FROM TABELA_01 T1
LEFT JOIN TABELA_02 T2 ON T1.ID_02 = T2.ID_02,
LEFT JOIN TABELA_03 T3 ON T1.ID_03 = T3.ID_03
WHERE T1.DESCRICAO_01 LIKE 'Teste%'

ou o tradicional

SELECT T1.*, T2.DESCRICAO_02, T3.DESCRICAO_03
FROM TABELA_01 T1, TABELA_02 T2, TABELA_03 T3
WHERE T1.ID_02 = T2.ID_02
  AND T1.ID_03 = T3.ID_03
  AND T1.DESCRICAO_01 LIKE 'Teste%'


Desde já agradeço a colaboração

Fernando Lopes



Mais detalhes sobre a lista de discussão lista