zoukankan      html  css  js  c++  java
  • 004 连接查询

    再大多数的情况下,我们都需要进行连接查询.

    笛卡尔积的产生:

    这个就是多表查询的的最初结果集,那么以后我们需要作的就是从结果集中筛选出需要的结果集.


    筛选的方式不同,导致sql的效率不同.

    筛选的方式就是加入连接标准.


     等值连接:

    select 字段 from 表1 , 表2 where 连接条件.

    eg:查询员工名和对应的部门的名称.

    SELECT
    last_name,
    a.department_id
    FROM
    employees a,
    departments b
    WHERE a.department_id = b.department_id

     非等值连接:

    其实与等值连接基本是一致的,都是在笛卡尔积中使用非等值条件然后进行筛选.

    自连接:

    自连接相当于连接的表就是自己,其实和一般的等值连接没有什么区别.


    外连接:

      外连接到底查询的是什么? 我们从维恩图之中就能看出来,

      其实取的就是主表的全部信息,加上交集的全部信息.

      至于左外链和还是右外连接完全是看到底使用哪一张表作为主表.

    ------------

    全外连接: 在mysql之中是不支持全外连接的,我们想要获取圈外连接的信息,就只能靠我们自己手动的去拼凑结果集,

    最终获取结果集然后完成.


    交叉连接:

      其实就是我们获取的笛卡尔积的一种方式,在实际之中基本是没有什么作用的.

  • 相关阅读:
    Python2和3版本对str和bytes类型的处理
    使用Fiddle对夜神模拟器进行抓包的设置
    WebSocket 实现链接 群聊(low low low 版本)
    WebSocket 实现链接 发送消息
    Linux文件操作命令
    Linux命令格式
    FastJson
    JSON语法规则
    Mybatis resultMap支持继承
    Mybatis在xml文件中处理大于号小于号的方法
  • 原文地址:https://www.cnblogs.com/trekxu/p/8492609.html
Copyright © 2011-2022 走看看