Protože vás zajímá algoritmus, zdá se, že se vaše otázka scvrkává na rozdíl mezi IN a EXISTS protože vaše dva příklady jsou stejné, kromě IN změna na EXISTS v odstranění z CHILD tabulka.
O tomto rozdílu toho bylo za ta léta napsáno docela dost, ale v podstatě IN se obecně používá tam, kde je počet komparátorů malý, zatímco EXISTS je efektivnější pro poddotazy vracející větší počet komparátorů (zejména pokud tyto hodnoty obsahují velký počet duplikátů).
IN musí vyhodnotit každý vrácený komparátor, zatímco EXISTS je spokojen, když narazí na první shodu.
Existují výjimky a pokud je zadáte do Googlu, najdete je, ale celkově to vypadá, že to platí.
Tom Kyte (VP Oracle) má velmi dobrou odpověď s vysvětlením zde:https://asktom.oracle.com/pls/asktom/f?p=100:11:2148775836129778::::P11_QUESTION_ID:953274
TechRepublic má také dobré vysvětlení zde:https://www.techrepublic.com/article/oracle-tip-understand-the-difference-between-in-and-exists-in-subqueries/5297080
Doufám, že to pomůže...