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
如图:

总结:
在项目中为了适应不同的需求选择合适的连接方式
SQLServer数据库之连接查询的更多相关文章
- sqlServer数据库常用连接字符串
sqlServer 数据库常用连接字符串 用户名和密码验证的方式去连接到数据库服务器 <add name="conStr" connectionString=" ...
- MySql数据库之连接查询
在MySql数据库中连接查询分为以下几种方式: 1.内连接查询 内连接查询通过关键字 inner join 关键字来实现,通过代码实现: select * from 表1 inner join 表2 ...
- ASP.net分别连接SQLserver数据库与连接Access数据库精英版
-------------------------连接access2003 字符串------------------------- Provider=Microsoft.Jet.OLEDB.4.0; ...
- SQLServer多表连接查询
双表内部连接查询 select wName,dName from DepartMent,Worker where DepartMent.dID=Worker.did select wName,dNam ...
- 查找sqlserver数据库中,查询某值所表名和字段名
有时候我们想通过一个值知道这个值来自数据库的哪个表以及哪个字段,通过一个存储过程实现的.只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名. 前提是要将这个存储过程放在所查询的数据库. CR ...
- C语言与sqlserver数据库
原文:C语言与sqlserver数据库 1.使用C语言来操作SQL SERVER数据库,采用ODBC开放式数据库连接进行数据的添加,修改,删除,查询等操作. step1:启动SQLSERVER服务,例 ...
- SQL多表连接查询以及mysql数据库、sqlserver数据库常见不同点
mysql数据库表及数据准备语句: USE test; DROP TABLE IF EXISTS `teacher_table`; DROP TABLE IF EXISTS `student_tabl ...
- C#通过SqlConnection连接查询更新等操作Sqlserver数据库
Sqlserver数据库连接方式有多种,这里只介绍最常用的通过SqlConnection和Sqlserver数据库用户名和密码验证来进行操作数据库. 数据库连接字符串: string connStri ...
- 使用thinkphp连接sqlserver数据库时提示“系统不支持:sqlsrv”
习惯了使用php跟mysql组合,现在接到项目需要调用客户线下的系统软件的数据,具了解,这个软件的数据库是用sqlserver数据库也就是常说的mssql数据库了. 那么我现在需要用PHP连接sqls ...
随机推荐
- DNS的原理和解析过程
DNS的解析原理和过程: 在Internet上域名和IP是对应的,DNS解析有两种:一种是正向解析,另外一种是反向解析. 正向解析:正向解析就是将域名转换成对应的 IP地址的过程,它应用于在浏览器地址 ...
- C#曲线分析平台的制作(二,echarts前后台数据显示)
在上一篇博客中,学习了使用javascript和jquery两种方法来进行前后台交互.本篇博客着重利用jquery+echarts来实现从后台取数,从前端echarts中展示. 1.html页面编写: ...
- empty(), is_null(), isset()真值表(区别)
- Java 7 新特性之try-with-resources实践理解
想象这么一个情景,我们需要使用一个资源,在使用完之后需要关闭该资源,并且使用该资源的过程中有可能有异常抛出.此时我们都会想到用try-catch语句,在finally中关闭该资源.此时会有一个问题,如 ...
- http笔记随笔
1.HTTP (HyperText Transfer Protocol)超文本传输协议(80端口) 1.规定浏览器和服务器之间相互通信的规则 2.万维网交换信息的基础 3.允许将HTML文档从Web服 ...
- 通读BadCode
简介 就是旋哥的BadCode系列,这次好好通读下,然后我在旋哥的注释上又加了一些,函数原型等. 项目地址:https://github.com/Rvn0xsy/BadCode 第一课 主要介绍了下c ...
- spring-session-data-redis反序列化问题
springCloud项目,采用springSession,用户模块同时引入了spring-cloud-starter-security,在其他模块request.getSession()的时候抛了以 ...
- 课程设计-基于SSM的在线课程教学系统代码-基于java的线上课程资源共享论坛系统
注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 后台框架:SSM 前端框架:vue 数据库:MySQL 设计模式:MVC 架构:B/S 源码类型: Web 编 ...
- Spring-boot注入配置为java静态属性
配置文件 注入静态变量 注意 类上面有:@Component注解 使用注入的静态变量 成功
- mysql几种连接方式区别
mysql的几种join 2017年03月19日 14:49:07 carl-zhao 阅读数:7845 标签: mysqlsqljoin 更多 个人分类: MySQL 版权声明:本文为博主原创文章, ...