zoukankan      html  css  js  c++  java
  • sql 多表联查

    多表联查

    多表联查分为三类:内连接(inner join )、左连接(left join)、右连接(right  join )

    内连接(inner join 、join )

    SELECT  * FROM  表A  as a inner join 表B  as b  ON a.连接字段=b.连接字段

    解析:inner join 和ON 是内连接的关键词,内连接是取得表A和表B能通过连接字段关联起来的数据。

    连接字段可以有多个,用and或者or 关联 如:ON a.连接字段1=b.连接字段1 and a.连接字段2=b.连接字段2 or a.连接字段3=b.连接字段3

    PS: as 是给表A,表B取个别名的方便ON关键词后面指定那张表的连接字段,也可以不用as,直接表A.连接字段,如:

    SELECT * FROM 表A  inner join 表B  ON 表A.连接字段=表B.连接字段

    示例:学生表student 

         

    课程表Course                 

           

    select* from Student s inner join Course c ON  s.Id=c.StudentId

     

    通过student表的id和Course表的StudentId 取到了能关联的张三李四王五的记录、赵六关联不上所以没有记录

    左连接(left join)

    SELECT  * FROM  表A  as a left join 表B as b ON a.连接字段=b.连接字段

    解析:left join和ON 是左连接的关键词,左连接是以左边表A为主表,表B为子表,先查询出表A中的数据,然后关联表B如果关联上了就将数据查询出来,如果表B中没有关联上数据则对应字段为null。

    示例:学生表student                                    

       

    课程表Course

     

    select* from Student s left join Course c ON  s.Id=c.StudentId

     

    通过student表的id和Course表的StudentId 取到了能关联的张三李四王五的记录、赵六关联不上所以Course表对应的记录为null

    右连接(right join)

    SELECT  * FROM  表A  as a right join 表B as b ON a.连接字段=b.连接字段

    解析:right join和ON 是右连接的关键词,右连接是以右边表B为主表,表A为子表,先查询出表B中的数据,然后关联表A如果关联上了就将数据查询出来,如果表A中没有关联上数据则对应字段为null。

    示例:学生表student

       

    课程表Course 

       

    select* from Student s right join Course c ON  s.Id=c.StudentId

     

    这里之所以数据和内连接(inner join )数据一致,是因为右边表B所有的数据都能关联到左边,如果将student表放置在右边(Course c right join Student s)则和左连接一致

    三个表以上连接查询

    SELECT  * FROM  表A  as a right join 表B as b ON a.连接字段=b.连接字段  INNER JOIN 表C as c ON c.连接字段=a.连接字段

    连接查询如果待条件语句:

    SELECT  * FROM  表A  as a right join 表B as b ON a.连接字段=b.连接字段 WHERE a.条件字段=条件
  • 相关阅读:
    Verilog模块概念和实例化#转载自Jason from Lofter
    P4-verilog实现mips单周期CPU
    P0-Logisim简单部件与有限状态机
    终——提问回顾与个人总结
    技术博客——PyPDF2 & Reportlab 使用
    结对——软工第一次结对项目
    分析——个人第二次博客作业
    交点——软工第一次个人项目作业
    启——软工第一次个人博客作业
    再会,旧时光——软工热身作业
  • 原文地址:https://www.cnblogs.com/YorkQi/p/14801060.html
Copyright © 2011-2022 走看看