Sub-kueri adalah cara yang benar secara logis untuk menyelesaikan masalah dalam bentuk, "Dapatkan fakta dari A, dengan syarat fakta dari B". Dalam kasus seperti itu, lebih masuk akal untuk memasukkan B dalam sub-kueri daripada melakukan gabungan. Ini juga lebih aman, dalam arti praktis, karena Anda tidak perlu berhati-hati untuk mendapatkan fakta duplikat dari A karena banyak pertandingan melawan B.
Namun, secara praktis, jawabannya biasanya tergantung pada kinerja. Beberapa pengoptimal menyedot lemon saat diberikan gabungan vs sub-kueri, dan beberapa menyedot lemon dengan cara lain, dan ini khusus pengoptimal, khusus versi DBMS, dan khusus kueri.
Secara historis, penggabungan eksplisit biasanya menang, oleh karena itu kebijaksanaan yang mapan yang menggabungkan lebih baik, tetapi pengoptimal semakin baik setiap saat, jadi saya lebih suka menulis kueri terlebih dahulu dengan cara yang koheren secara logis, dan kemudian merestrukturisasi jika kendala kinerja menjamin hal ini.