Thank you. I am trying to also understand why the EXISTS needs the expression T1.PK_FLD = T2.PK_FLD in subquery and according to Naomi the WHERE IN does not need it. But your use of 1 should make the subquery run faster.
PS. If this is a duplicate post, I apologize. UT just crashed on me.
>A query should be self explanatory. The performance optimization is secondary and only necessarily id there's performance problem.
>
>select Table1.* T1 where exists (select 1 from Table2 T2 where T1.pk_fld = T2.pk_fld and T2.fld2 = '123')
>
>
>>
>>What is a better practice and more efficient when using a derived table in a SQL Select:
>>
>>
>>select Table1.* T1 where exists (select * from Table2 T2 where T1.pk_fld = T2.pk_fld and T2.fld2 = '123')
>>
>>
>>vs
>>
>>
>>select Table1.* T1 where T1.pk_fld in (select pk_fld from Table2 T2 where T1.pk_fld = T2.pk_fld and T2.fld2 = '123')
>>
>>
>>TIA
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham