Το ερώτημά σου έχει ταλαιπωρήσει πολλούς developers σε πολλά συστήματα βάσεων δεδομένων και επί πολλά χρόνια! Ειναι το γνωστό "joins vs subqueries", για το οποίο δεν υπάρχει, δυστυχώς, μια και μόνο μία απάντηση. Εξαρτάται από αρκετές παραμέτρους και απαντάται κατά περίπτωση.
Ομως, οι απαντήσεις δεν έχουν να κάνουν με το αποτέλεσμα (που φυσικά και είναι ίδιο και στις δύο περιπτώσεις) αλλά με τις επιδόσεις του συστήματος. Ητοι, τελικά ποιό είναι πιό γρήγορο;
Στην περίπτωση που αναφέρεις, είναι σχετικά εύκολο να υποθέσουμε οτι ένα join θα ήταν πιό γρήγορο από ένα subquery, μια και το join "ενώνει" τους πίνακες σε ένα πέρασμα, ενώ το subquery σου θα τρέξει μια φορά για κάθε γραμμή του πίνακα territories. Ητοι, αν ο πίνακας έχει χιλιάδες γραμμές, το subquery θα τρέξει χιλιάδες φορές.
Σωτήρης Φιλιππίδης
DotSee Web Services