SQl vrlo čudno neočekivano ponašanje

Pozdrav,

znači imam prvi query koji mi ne vraća ništa…a očekujem jedan rezultat da mora vratiti:



Zatim idem testirati ovaj drugi (sub) query …i on isto ništa ne vraća (to je očekivano)



Zatim idem testirati ovaj treći (sub) query …i on vraća tri retka (i to je očekivano)

Zatim u prvom queryu samo promjenim poziciju za ovaj dio "and t1.onDisk is not null "

I nakon toga dobijem očekivano selektirani jedan redak:

Totalno mi nije jasno kako je to moguće.
Da ne kažem da sam sasvim slučajno otkrio da ako promjenim tom uvjetu poziciju da ću onda dobiti select koji očekujem.

Prije toga sam iskuvao gledajući i kombinirajući barem sat vremena sa tim queryem … dok nije vraćao ono što mi se čini da je morao vraćati i ranije.

Inače prvi query ako se izvrti bez ova dva pod-query-a, onda vraća ova tri retka:

Treći (sub) query isto vraća tri retka, ali samo dva koja upadaju u skup ova tri retka.
Tako da kombinirani query logično mora vrattiti samo jedan redak od ova tri.

Zašto u onom slučaju vraća, u drugom ne …meni nimalo nije jasno…