您现在的位置是:主页 > 数据库技术 > 数据库技术

JOIN怎么显示来自多个表的数据

IDCBT2022-01-01服务器技术人已围观

简介这篇文章主要介绍“JOIN怎么显示来自多个表的数据”,在日常操作中,相信很多人在JOIN怎么显示来自多个表的数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,

这篇文章主要介绍“JOIN怎么显示来自多个表的数据”,在日常操作中,相信很多人在JOIN怎么显示来自多个表的数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JOIN怎么显示来自多个表的数据”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

表关系简介

一、语法

    SELECT 字段列表

      FROM TABLE1

    [CROSS JOIN TABLE2 ] |

    [NATURAL JOIN TABLE2 ] |

     [JOIN TABLE2 USING (字段名) ] |

     [JOIN TABLE2 ON (TABLE.COLUMN_NAME = TABLE2.COLUMN_NAME) ] |

    [(LEFT | RIGHT | FULL OUT) JOIN TABLE2 ON (TABLE1.COLUMN_NAME = TABLE2.COLUMN_NAME) ];

二、自然连接

1、USING
  如果不希望参照被连接表的所有同名列进行等值连接,自然连接将无法满足要求,可以在连接时使用USING子句来设置用于等值连接的列(参照列)名。
不允许在参照列上使用表名或者别名作为前缀

    --99语法

    SELECT EMPNO, ENAME, SAL, EMP.DEPTNO, DNAME

      FROM EMP

      JOIN DEPT

     USING (DEPTNO);

     

     --92语法

    SELECT EMPNO, ENAME, SAL, EMP.DEPTNO, DNAME

      FROM EMP, DEPT

     WHERE EMP.DEPTNO = DEPT.DEPTNO;

2、ON
  如果要参照非同名的列进行等值连接,或想设置任意的连接条件,可以使用On子句

    SELECT EMPNO, ENAME, SAL, EMP.DEPTNO, DNAME

      FROM EMP

      JOIN DEPT

        ON (EMP.DEPTNO = DEPT.DEPTNO);

三、自连接

  自己和自己做链接

    --99语法

    SELECT WORKER.LAST_NAME EMP, MANAGER.LAST_NAME MGR

      FROM EMPLOYEES WORKER

      JOIN EMPLOYEES MANAGER

        ON (WORKER.MANAGER_ID = MANAGER.EMPLOYEE_ID);

        

    --92语法

    SELECT WORKER.LAST_NAME EMP, MANAGER.LAST_NAME MGR

      FROM EMPLOYEES WORKER, EMPLOYEES MANAGER

     WHERE WORKER.MANAGER_ID = MANAGER.EMPLOYEE_ID;

四、非等值连接

    --99语法

    SELECT E.LAST_NAME, E.SALARY, J.GRADE_LEVEL

      FROM EMPLOYEES E

      JOIN JOB_GRADES J

        ON E.SALARY BETWEEN J.LOWEST_SAL AND J.HIGHEST_SAL;

        

    --92语法

    标签:

    很赞哦! ()

本栏推荐