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 ...
随机推荐
- yum 卸载
# yum list installed | grep [软件名] #yum -y remove [软件名]
- 使用vue实现简单的待办事项
待办事项 效果图 目录结构 详细代码 AddNew.vue <template> <div> <input v-model="content"/> ...
- PXE高效装机
目录 一.PXE概述 二.PXE的优点 三.搭建PXE的前提 四.部署PXE远程安装服务 1.安装TFTP服务 2.修改TFTP服务的配置文件,并开启服务 关闭防火墙 3.安装DHCP服务 4.修改D ...
- maze writeup
maze writeup 攻防世界的一道迷宫题,第一次接触这样的题,个人感觉很有意思,收获也挺多,做一篇笔记记录一下. 程序分析 __int64 sub_4006B0() { signed __int ...
- Apache解析漏洞
多解析特性 在Apache1.x,2.x中Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断.因此对于apache而言,一个test.php.qwea文件依 ...
- idea构建servlet程序
1 新建maven项目 勾选maven_web模板 2 idea加载后应是如图所示 3 在main目录下新增两个文件夹,一个java 设置为源码根目录,另一个是resources 设置为源目录 4 在 ...
- Docker部署Zookeeper部署实践(1)
Zookeeper可提供的服务主要有:配置服务.名字服务.分布式同步.组服务等 1. 抓取Zookeeper镜像 命令:docker pull zookeeper 2. 将Zookeeper镜像保存为 ...
- 大数的快速幂模 Python实现
要求 实现模幂算法,通过服务器的检验. 访问http://2**.207.12.156:9012/step_04服务器会给你10个问题,每个问题包含三个数(a,b,c),请给出a^b%c的值.返回值写 ...
- 联合迭代器与生成器,enumerate() 内置函数真香!
花下猫语:Python 中很多内置函数的作用都非常大,比如说 enumerate() 和 zip(),它们使得我们在作迭代操作时极为顺手.这是一篇很多年前的 PEP,提议在 Python 2.3 版本 ...
- SpringBoot中实现支付宝支付
本文只介绍当面付(扫码支付)和APP支付 一. 接入准备 #这里分两种情况,正式环境和沙箱环境,本文使用沙箱环境 1.进入支付宝开放平台,创建应用 登录 支付宝开放平台,创建应用并提交审核,审核通过后 ...