In casi semplici, Query Optimizer dovrebbe essere in grado di produrre piani identici per un semplice join rispetto a una semplice selezione secondaria.
Ma in generale (e ove appropriato), dovresti privilegiare i join rispetto alle sottoselezioni.
Inoltre, dovresti evitare le sottoquery correlate (una query in cui l'espressione interna fa riferimento a quella esterna), poiché sono effettivamente un ciclo for all'interno di un ciclo for). Nella maggior parte dei casi una sottoquery correlata può essere scritta come join.