作業テーブルと、 案件テーブルと、 報告テーブルを等価結合させる 結合条件は、 作業テーブル.SD_IRAI = 案件テーブル.AM_IRAI = 報告テーブル.KH_IRAI とする
--■■■all述語を使わない方法■■■ select * from 作業テーブル s,案件テーブル a,報告テーブル k where s.SD_IRAI = a.AM_IRAI and s.SD_IRAI = k.KH_IRAI; --■■■all述語を使う方法■■■ select * from 作業テーブル s,案件テーブル a,報告テーブル k where s.SD_IRAI = all(a.AM_IRAI,k.KH_IRAI);
all述語を使って、 等価結合の結合条件をシンプルにできます ただし、all述語やany述語に値リストを使うのは、 Oracleの拡張機能らしく、 MySQL5.0とPostgreSQL8.1では文法エラーになりました