sql server join联结
join学习起来有点乱,现做如下整理:
table A
id | abc |
1 | a |
2 | b |
3 | c |
4 | d |
table B
id | abc |
1 | e |
2 | a |
3 | f |
4 | c |
--join或者inner join (内连接、等值连接):只返回两个表中连接字段相等的行。
--select * from A inner join B on A.abc=B.abc
id | abc | id1 | abc1 |
1 | a | 2 | a |
3 | c | 4 | c |
--left join(左连接) :返回A表中所有的记录以及B表中连接字段相等的记录,没有匹配的则以null值取代。
--select * from A left join B on A.abc=B.abc
id | abc | id1 | abc1 |
1 | a | 2 | a |
2 | b | null | null |
3 | c | 4 | c |
4 | d | null | null |
--right join(右连接):返回B表中所有的记录以及A表中连接字段相等的记录,没有匹配的则以null值取代。
--select * from A right join B on A.abc=B.abc
id | abc | id1 | abc1 |
null | null | 1 | e |
1 | a | 2 | a |
null | null | 3 | f |
2 | c | 4 | c |
--full join(外连接、全连接):返回两个表中的行:left join + right join。对于没有匹配的记录,则会以null做为值。
--select * from A full join B on A.abc=B.abc
id | abc | id1 | abc1 |
1 | a | 2 | a |
2 | b | null | null |
3 | c | 4 | c |
4 | d | null | null |
null | null | 1 | e |
null | null | 3 | f |
--先按照A表中的记录一条一条到B表找匹配项,没有则用null代替。
--再按照B表中的记录一条一条到A表找匹配项,没有则用null代替。
--排除重复的记录,则为最后结果
--cross join:结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数。
sql server join联结的更多相关文章
- SQL Server Join方式
原文:SQL Server Join方式 0.参考文献 Microsoft SQL Server企业级平台管理实践 看懂SqlServer查询计划 1.测试数据准备 参考:Sql Server中的表访 ...
- SQL Server [join] 整理
[表A]Aid Aname Acode1 aa 0012 bb 0023 cc 0034 dd 004 ...
- SQL Server join介绍
介绍Inner Join(可以省略Inner,平常经常inner,就是inner join), Full Out Join,Cross Join,Left Join, Right Join区别. )) ...
- SQL Server - JOIN
JOIN
- sql server join ,inner join ,left join ,right join 的使用
测试数据脚本 CREATE TABLE Atable ( S# INT, Sname nvarchar(32), Sage INT, Sfrom nvarchar(8) ) insert into A ...
- SQL Server 优化-执行计划
对于SQL Server的优化来说,优化查询可能是很常见的事情.由于数据库的优化,本身也是一个涉及面比较的广的话题, 因此本文只谈优化查询时如何看懂SQL Server查询计划.毕竟我对SQL Ser ...
- SQL server 使用 内联结(INNER JOIN) 联结多个表 (以及过滤条件 WHERE, AND使用区别)
INNER JOIN ……ON的语法格式: FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INN ...
- SQL Server信息偏差影响表联结方式统计
SQL Server统计信息偏差影响表联结方式案例浅析 我们知道数据库中的统计信息的准确性是非常重要的.它会影响执行计划.一直想写一篇关于统计信息影响执行计划的相关博客,但是都卡在如何构造一个合适 ...
- SQL SERVER 连接查询(join...on...)
SQL SERVER联结查询包含inner join,left join,right join,outer join (on)四种. [inner join]:行数为满足条件n*m,并且on的条件对两 ...
随机推荐
- CI集成Smarty的实现方式
给新伙伴的忠告:不要去想着有多复杂,看一遍绝对就会弄了! 这样集成的目的是什么? 因为我使用过CI和smarty,所以我就按自己的理解讲一下:CI框架在控制器.models方面做的很好,但在多变的视图 ...
- RobotFramework测试库速查表
标准库 序号 标准库 说 明 1 Builtin 包含经常需要的关键字,自动导入无需import 2 Dialogs 提供了暂停测试执行和从用户的输入方式 3 Collections 提供一组关键词 ...
- modprobe 和 insmod 区别
1 关于内核加载方式 1) insmod : insmod一次只能加载特定的一个设备驱动,且需要驱动的具体地址 举例说明: insmod pblk.ko // 需要制定pbl ...
- Fiddler Wireshark 抓包
使用 层次 Fiddler 简单 第七层应用层的 HTTP(S) 协议的包 Wireshark 复杂 第三层网络层的包 注意:Fiddler 只能抓到走系统代理的流量.不走系统代理的流量(比如浏览器选 ...
- 七十七:flask.Restful之flask-Restful参数验证
flask_restful插件提供了reqparse来做类似WTForms的验证功能来校验数据,add_argument可以指定这个字段的名字.数据类型等1.default:默认值,若没有传入此次参数 ...
- PS技巧集合
一.把图片变模糊 图像——调整——色阶——输出色阶——滤镜——模糊——高斯模糊——半径 二.图片换色 点击右下角弹层下方的“fx”——颜色叠加——色样颜色
- 科学论文写作 Tips
感觉还是课程中给的英文描述会比较好,所以笔记大多数还是以老师的原英文 PPT 为主 1 Steps in the Writing Process 如何开展论文写作以及各个步骤的时间分配 1-1 Pre ...
- Block代码块中使用局部变量注意点
第一次写代码遇到报这个错,实在是想不通为什么,按常理应该是不会有问题,报错的呀??纠结了一会之后只好仔细查看报错原因咯,原来是: 当我们在block代码块中使用局部变量时,就会很容易出现如图的错误. ...
- 002. Add Two Numbers
题目链接:https://leetcode.com/problems/add-two-numbers/description/ Example: Input: (2 -> 4 -> 3) ...
- A = min(1, max(0, A))
Crop A into [0, 1]: