我有三張表格(學生,教師和成績),我想優化以下查詢,並將一些列索引或創建其他物理結構。我的查詢是這樣的:使用INDEXing進行Oracle數據庫優化
select * from STUDENT S, FACULTY F
where S.facul=F.facul AND S.grade NOT IN (
select overall from grades G
where overall > 500 and overall < 1900);
我不能像「where S.grade <= 500 OR S.grade >= 1900
」使用,因爲在成績表中有很多的,我將在以後使用其他選項。所以從GRADES表中選擇是很重要的。
我是Oracle SQL的初學者,所以請幫助我,並且更具體。
你有什麼其他選項在'grades.overall'列?該列應該是NUMBER數據類型(如果不是,這是一個很大的錯誤 - 如果成績是SUPPOSED是數字),所以您必須小心的唯一一件事是在某些行中爲NULL。但是,在外部查詢中也可以正確處理, – mathguy