zoukankan      html  css  js  c++  java
  • SQLServer数据库之连接查询

    SQLServer数据库之连接查询


    表的连接查询的几种方法介绍:
    inner join on内连接,left join on 左连接 , rigth join on 右连接, full join on 全连接

    内连接(inner join)

    内连接为查询两表的共有的数据,取两表的交集

    语法:

    select [查询内容] from [表1] inner join [表2] on [连接条件]
    

    例如:查询学生所在的班级

    select s.name as 姓名,c.name as 班级 from student s inner join class c on s.classId=c.id	
    --等价与
    select s.name as 姓名 ,c.name as 班级 from student s, class c where s.classId=c.id  --必须加上条件,不然会出大问题
    --也可以把inner省掉效果一样 默认为Inner join 连接
    

    左连接(left join)

    左连接以查询主表全部数据,如果从表没有响应数据则以null作为填充
    (主表为查询表,从表为连接的表)
    语法:

    select [查询内容] from [表1] left join [表2] on [连接条件]
    

    例如

    select s.name as 姓名,c.name as 班级 from student s 
    			left join class c on s.classId=c.id	
    

    如图:小思和小林像个班级的孩子

    右连接(right join)

    从表查询全部数据,如果主表没有数据则以null填充
    (主表为查询表,从表为连接的表)
    语法:

    select [查询内容] from [表1] right join [表2] on [连接条件]
    

    例如

    select s.name as 姓名,c.name as 班级 from student s 
    			right join class c on s.classId=c.id	
    

    如图:大三和大四没有学员

    全连接(full join)

    主从表全部数据,如果主从表没有对应数据则以null填充
    (主表为查询表,从表为连接的表)
    语法:

    select [查询内容] from [表1] full join [表2] on [连接条件]
    

    例如

    select s.name as 姓名,c.name as 班级 from student s 
    			full join class c on s.classId=c.id	
    

    如图:

    总结:
    在项目中为了适应不同的需求选择合适的连接方式

  • 相关阅读:
    04.安全-TLS1.2连接过程
    02.安全-证书和CA
    01.安全-加密
    00.https基本
    00.二叉树基本
    二分查找01.基本二本查找及其变种
    01.数据结构资料,时间复杂度空间复杂度(数据结构算法基本)
    从 CentOS 8 平滑迁移至 CentOS Stream
    identityserver使用记录
    vs2019 使用私钥进行连接时出错 ssh连接报错
  • 原文地址:https://www.cnblogs.com/IsThis/p/12812805.html
Copyright © 2011-2022 走看看