My SQL学习笔记_连接查询

  • 笛卡尔乘积——多表连接,数据来源于多表时

 

  笛卡尔乘积现象:表1 有m行,表2有n行,结果=m*n行

  发生原因:没有有效的连接条件

  如何避免:添加有效的连接条件

  分类:

     SQL92标准仅仅支持内连接     SQL99标准【推荐】支持内连接+外连接(左外+右外)+交叉连接

  按功能分类:

     内连接:

    等值连接

   非等值连接

      自连接

   外连接:

      左外连接、右外连接、全外连接

  交叉连接

  • 等值连接

  如果为表起了别名,则查询的字段就不能使用原来的表名去限定

  1.  多表等值连接结果为多表的交集部分
  2. n表连接,至少需要n-1个连接条件
  3. 多表的顺序没有要求
  4. 一般需要为表起别名
  5. 可以搭配前面的介绍的所有子句使用,比如:排序、分组。
  • 非等值连接
  • 自连接

  查询员工名称和上级名称

    SELECT E.EMPLOYEE_ID,E.LAST_NAME,M.EMPLOYEE_ID,M.LAST_NAME

  FROM EMPLOYEE E ,EMPLOYEE M

  WHERE E.MANAGE_ID = M.EMPLOYEE_ID;

  

posted @ 2020-09-02 00:20  puffffff  阅读(140)  评论(0)    收藏  举报