SQL92学習 -クエリの従業員の名前、職種、給与、部門名の 組合のSQLクエリ(マルチテーブルクエリ) --1、SQL92標準 ----直積:一つの完成には多くのステップを必要とし、別のステップがあります多くの点で、この問題はデカルト積と呼ばれるすべての方法を完了している 14 - SELECT * EMPから 部門からSELECT * - 。7 * 14 = 98 7 - SELECT EMP、部門注文*からENAMEで同等のリンクリンク状態。場合は同等のリンク名フィールドは同じにすることはできませんが、フィールドの値が同じになるように。 -クエリ従業員の名前、職種、給与、部門名 EMPから選択*、EMP.DEPTNO DEPT = dept.deptno-- スクリーニング同等のリンクの結果使用 選択ENAME、仕事、サル、DNAME EMPから、DEPT EMPを。 DEPTNO = DEPT.DEPTNO; -等価リンククエリ指定されたフィールドデータの使用 を選択しENAME、ジョブ、SAL、EMP.DEPTNO 、EMPからDNAME、DEPT EMP.DEPTNO = DEPT.DEPTNO; - 場合マルチテーブルクエリ、参照表が宣言されなければならない同じフィールドの値 EMP.ENAME、emp.job、emp.sal、EMP.DEPTNO選択し 、EMPからdept.dname、DEPT EMP.DEPTNO = DEPT.DEPTNOと、 - テーブル名がクエリ効率を向上させる際に、クエリフィールドの値で指定 e.sal> s.losalとe.sal <s.hisal、 セルフライゲーション:条件は、実際には、接続された一方共存する異なる情報を必要とするので、使用頻度が非常に高くはないが、二つの同一のリンクテーブルに相当。 e.ename、e.job、e.sal、e.deptno選択 - ;、EMP eからd.dname、DEPT D e.deptno = d.deptno マルチテーブルのクエリを区別するためにエイリアステーブルを Eセレクト。 ENAME、e.job、e.sal、e.deptno、 DEPTNOによってEMP Eからd.dname、DEPT D e.deptno = d.deptnoため; - また順を並べ替えるために使用することができる 非等価リンク ---クエリの従業員の名前、職種、給与、賃金水準 SALGRADEからSELECT * EMPからSELECT *、ENAMEで注文をSALGRADE EMPからSELECT *、WHERE SAL> LosalとSAL <hisal SALGRADE SELECT e.ename、e.job、e.salを、 EMPのEのs.gradeから、WHEREをSALGRADE e.sal S> s.losalとe.sal <s.hisal; -クエリの従業員の名前、職種、給与、と上司は名前 のEMP UpdateからSELECT *を 表にEMPからSELECT * AS TEMP作成 するemp EからSELECT *を、TEMPトン= t.empno WHERE e.mgrを
主要部として何ら外部接続(+)、(+)はヌル値を表示存在しません
そしてe.sal <s.hisal 、EMP電子SELECT * FROM EMP Tここt.empno = e.mgr -左连接 EMP Eから選択*、DEPT Dここe.deptno = d.deptno(+) --you连接 、EMP電子SELECT * FROM DEPT Dの場合e.deptno(+)= d.deptno