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的条件对两 ...
随机推荐
- Java项目框架搭建系列(Java学习路线)
前言: 已经工作4年,真是时间飞逝. 其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了. 你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务 ...
- idea如果发生@override is not allowed when implement 错误,可以在Project Structure-Modules中更改Language level,设置为6以上的。
- koa 基础(十五)cookie 设置中文
1.app.js // 引入模块 const Koa = require('koa'); const router = require('koa-router')(); /*引入是实例化路由 推荐*/ ...
- ambari部署Hadoop集群(2)
准备本地 repository 1. 下载下面的包 wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3 ...
- OpenCV学习笔记(12)——OpenCV中的轮廓
什么是轮廓 找轮廓.绘制轮廓等 1.什么是轮廓 轮廓可看做将连续的点(连着边界)连在一起的曲线,具有相同的颜色和灰度.轮廓在形态分析和物体的检测和识别中很有用. 为了更加准确,要使用二值化图像.在寻找 ...
- Struts2中国际化
1. 写资源文件 Msg.properties 默认的语言环境: 找不到配置就找它 Msg_en_US.properties 美国 2. 加载 <constant name=" ...
- 虚拟化技术原理(CPU、内存、IO)
本文来自:http://www.ywnds.com/?p=5856 虚拟化 云计算现在已经非常成熟了,而虚拟化是构建云计算基础架构不可或缺的关键技术之一. 云计算的云端系统, 其实质上就是一个大型的分 ...
- war包的解压与打包
转: war包的解压与打包 2018年03月22日 14:59:56 Jitwxs 阅读数:21421 版权声明:本文版权归Jitwxs所有,欢迎转载,但未经作者同意必须保留原文链接. https ...
- 注册 Ironic 裸金属节点并部署裸金属实例
目录 文章目录 目录 前文列表 注册(Enrollment)裸机 创建裸金属实例的 Flavor 部署裸金属实例 日志分析 问题:Failed to create neutron ports for ...
- Python学习笔记:Unittest框架了解
Unittest单元测试框架不仅可以适用于单元测试,还可以适用于自动化测试用来的开发与执行,该测试框架可执行测试用例,并提供丰富的断言方法,最终生成测试报告. 一.Unittest常用方法 1.Tes ...