Tomar en cuenta lo siguiente:
BASE_A tiene 788669 registros y BASE_B tiene 1721
Código SQL:
Tiempo: 5 segVer original
SELECT TOP 1000 BASE_A.CUENTA, BASE_A.NOMBRE BASE_A.FECHA_EXP FROM BASE_A, BASE_B WHERE BASE_A.CUENTA = BASE_B.CUENTA AND BASE_B.ESTADO < 3 OR BASE_B.ESTADO > 4 AND BASE_A.MONTO > 0
VS
Código SQL:
Tiempo: 0 seg (lo muestra inmediatamente)Ver original
SELECT DISTINCT TOP 1000 BASE_A.CUENTA, BASE_A.NOMBRE BASE_A.FECHA_EXP FROM BASE_A INNER JOIN BASE_B ON BASE_A.CUENTA = BASE_B.CUENTA AND BASE_B.ESTADO < 3 OR BASE_B.ESTADO > 4 AND WHERE BASE_A.MONTO > 0
Mis dudas son las siguientes:
- De que manera realiza la consulta el Inner Join para que pueda mostrar la información inmediatamente.
- Porque necesito usar Distinct en el query de Inner Join.
- Y la última seria, en que casos se recomienda realmente usar Join vs un simple Select Where.
Muchas gracias por su ayuda