我有這樣的SQL其中發現的誰採取由教師講授課程區段ID爲10101如何以更好的方式重寫這個嵌套查詢?
select count (distinct ID)
from takes
where (course_id, sec_id, semester, year) in
(select course_id, sec_id, semester, year
from teaches
where teaches.ID= 10101);
什麼是重寫它的另一個或最好的辦法(明顯)的學生總數。
您的幫助將被apprecaited。
這個查詢有什麼問題?對我來說看起來很好:半連接(IN/EXISTS)既是訪問數據的有效方式,也是傳達意義的好方法。 – 2012-07-20 09:28:14
我想重寫它的另一種有效避免子查詢的方式。 – jamesT 2012-07-20 09:35:05
如果這是一個性能問題,您應該提供解釋計劃,實際查詢時間和預期查詢時間以及任何索引,所有表結構和數據量。 – 2012-07-20 09:42:05