SELECT E1.Department, E1.DeptPhone
FROM EMPLOYEE AS E1
WHERE EXISTS
(SELECT E2.Department
FROM EMPLOYEE AS E2
WHERE E1.Department = E2.Department
AND E1.DeptPhone <> E2.DeptPhone);
したがって、私はこのクエリを読むと、私はE1からの部署に等しい、テーブルE2からのDertmentsを選択していると思います異なる電話番号を持っている。EXISTS句のこの例を理解できません
EXISTSは相関サブクエリなので、(E1からの)部門とDeptPhone(E1からの部門)も選択していますが、サブクエリで部門を選択するだけです。
つまり、(E1と同じ電話番号を持たないが、E1と同じ部門名を持っている)部門とE1からのDeptPhoneを表示しています。私はそれを読んでいますか?
したがって、このセクション: WHERE E1.Department = E2.Department AND E1.DeptPhone <> E2.DeptPhone); 選択肢は、電話番号が異なる部門です。だから、LandscapingDept1 = LandscapingDept2だがLandscapingPhone1 <> LandscapingPhone2。 次に、その基準を満たしているものがある場合、つまり、autorがEXISTS句を使用していた理由が表示されます。つまり、複数の電話番号を持つ部署の名前とその電話番号を表示しています。 私は今それを見ることができます。ありがとう。私はまだクエリをうまく読み込む方法を学んでいます。 – krebshack