私は3つのテーブル(学生、教職員および等級)を持っており、次のクエリを最適化して列の一部を索引付けしたり、等級表に、私は、後に使用する他の多くのオプションがあるので、私は、「where S.grade <= 500 OR S.grade >= 1900
」のように使用することはできません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);
:私のクエリはこれです。 GRADESテーブルから選択することが重要です。
私はOracle SQLの初心者ですので、助けてください。より具体的にしてください。
'grades.overall'カラムには他にどのようなオプションがありますか?列はNUMBERデータ型でなければなりません(そうでない場合、大きな間違いです - グレードが数値の場合はSUPPOSED)ので、注意しなければならない唯一のものはいくつかの行でNULLです。しかし、それは外側のクエリでも正しく扱うことができます。 – mathguy