Подзаявките са логически правилният начин за решаване на проблеми от формата „Вземете факти от А, условно на факти от Б“. В такива случаи е по-логично да се постави B в подзаявка, отколкото да се направи присъединяване. Също така е по-безопасно в практически смисъл, тъй като не е нужно да внимавате да получавате дублирани факти от А поради множество мачове срещу Б.
На практика обаче отговорът обикновено се свежда до производителност. Някои оптимизатори изсмукват лимони, когато им се даде обединяване спрямо подзаявка, а някои изсмукват лимони по друг начин и това е специфично за оптимизатора, специфично за версията на СУБД и специфично за заявката.
Исторически погледнато, изричните обединявания обикновено печелят, следователно установената мъдрост, че обединяванията са по-добри, но оптимизаторите стават все по-добри през цялото време и затова предпочитам първо да пиша заявки по логически последователен начин и след това да преструктурирам, ако ограниченията на производителността го налагат.