difference between self join and correlated queries