zoukankan      html  css  js  c++  java
  • SQL学习(五)多表关联-join

      在实际工作中会用到多表联查,此时需要用到关键字JOIN

    一、inner join(内连接)

      至少有一个匹配时返回行,只返回两个表中连接字段相等的行

      如:

      select * from ticket

      inner join job

      on ticket.id=job.t_id

      只查询出,ticket.id=job.t_id的数据

    二、left join(左连接)

      即使右表中没有匹配,也从左表中返回所有的行

      如:

      select * from ticket

      left join job

      on ticket.id=job.t_id

      不管ticket.id是不是等于job.t_id,首先返回ticket中的所有数据;如果ticket.id=job.t_id时,返回相应的job数据;如果ticket.id!=job.t_id时,对应的job数据显示为null

    三、right join(右连接)

      即使左表中没有匹配,也从右表中返回所有的行

      如:

      select * from ticket

      right join job

      on ticket.id=job.t_id

      不管ticket.id是不是等于job.t_id,首先返回job中的所有数据;如果ticket.id=job.t_id时返回相应的ticket数据;如果ticket.id!=job.t_id时,对应的ticket数据显示为null

    四、full join(外连接)

      只要其中一个表中存在匹配,则返回行(返回两个表中的行)

      如:

      select * from ticket

      full join job

      on ticket.id=job.t_id

      不管ticket.id是不是等于job.t_id,首先返回ticketjob的所有数据;如果ticket.id=job.t_id时,会在相应的ticket数据后显示job数据;如果ticket.id!=job.t_id时,ticket数据和job数据分两行显示,其对应方的数据分别显示null

  • 相关阅读:
    提交一个spark程序及spark执行器
    前端如何让服务器主动向浏览器推送数据
    h5页面移动端iPhoneX适配方法
    详说tcp粘包和半包
    mysql配置文件 /etc/my.cnf 详细解释
    【todo】MVCC原理及与锁之间的关系
    【todo】innodb表锁的底层实现原理
    【todo】innodb行锁的底层实现原理
    【todo】mysql binlog
    [todo] spring 事务的传播性
  • 原文地址:https://www.cnblogs.com/smallstone2018/p/11165441.html
Copyright © 2011-2022 走看看