Tengo que hacer un Join de dos tablas A y B, pero B es muy muy grande.
Entonces puedo hacer:
Select * From A,B Where A.ForiegnB_Id = B.Id
Pero yo sé algo mas de tabla B, yo sé que solo uso un muy pequeña
parte de B, entonces quirero haces algo como:
Select * From A,(Select * From B Where Id IN ('Id1', 'Id2', 'Id3'))
Where A.ForiegnB_Id = B.Id
eso hago para prevenir que el systema va a hacer calculaciones
inutiles.
Pero tengo unas preguntas:
1. Eso no es ya arreglado en SQL por ejemplo cuando yo hago:
Select * From A,B Where A.ForiegnB_Id = B.Id And A.ForiegnB_Id IN
('Id1', 'Id2', 'Id3')
No el systema ya sabes que no hacer un Join de todo A con todo B?
2. Come yo llamo "B" en
Select * From A,(Select * From B Where Id IN ('Id1', 'Id2', 'Id3'))
Where A.ForiegnB_Id = B.Id
Porque no es verdad "B" pero el resultado del subquery
(Select * From B Where Id IN ('Id1', 'Id2', 'Id3')
3 Hay otras maneras para hacer lo que quiero? Un View o algo?
Leer las respuestas