次の IN クエリを内部結合クエリに変換したい:
select country, name, rank from table person_details
where country in ('india','USA','australia')
and name in ('tom', 'jill', 'jack')
and rank in ('first', 'third', 'fifith');
2 つの質問があります。
このテーブルは大きいので、この IN クエリを内部結合に変更すると速度が向上します。
このカンマ区切りのリストを一時テーブルの列に分割する最良の方法は何ですか。多くの正規表現の例を見てきましたが、それらは複雑すぎて大きすぎるようです。
Oracle 11g DB を使用しています。
テーブルのスナップショット:
Id name country rank
1 tom india first
2 jill USA second
3 jack aus first