apply & join
キーワードの使用に関する記事を読んでいました。ある例では内部結合を使用し、他の例では apply キーワードを使用している SQL を参照してください。
ここにテーブルの写真があります
SELECT E.EMPID, E.NAME, E.DEPTID, D.NAME
FROM EMPLOYEE E
INNER JOIN DEPARTMENT D ON E.DEPTID = D.DEPTID
SELECT E.EMPID, E.NAME, E.DEPTID, CA.NAME
FROM EMPLOYEE E
CROSS APPLY
(SELECT * FROM DEPARTMENT D WHERE D.DEPTID = E.DEPTID) CA
どちらのクエリも同じ出力と同じ実行プランを返します。これが写真です
再び外部適用と左外部結合を使用します
SELECT E.EMPID, E.NAME, E.DEPTID, D.NAME
FROM EMPLOYEE E
LEFT JOIN DEPARTMENT D ON E.DEPTID = D.DEPTID
SELECT E.EMPID, E.NAME, E.DEPTID, OA.NAME
FROM EMPLOYEE E
OUTER APPLY
(SELECT * FROM DEPARTMENT D WHERE D.DEPTID = E.DEPTID) OA
ここでも、両方のクエリが同じ出力と同じ実行計画を生成します。ですから、どのような状況で内部結合または左外部結合の代わりに使用する必要があるのか\u200b\u200bわかりませんOUTER APPLY
かCROSS APPLY
?
可能であれば、OUTER APPLY or CROSS APPLY
感謝を使用する必要がある同じシナリオが付属しています