JOIN 分为:内连接(INNER JOIN)、外连接(OUTER JOIN)。其中,外连接分为:左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)、全外连接(FULL OUTER JOIN),其中外连接的“OUTER”关键字可以省略不写。

1.内连接(显示左右两表能完全匹配的数据):

 select P.ProvinceId,P.ProvinceName,C.CityName,C.ProvinceId,C.CityId
from [dbo].[City] C inner JOIN [dbo].[Province] P ON P.ProvinceId = C.CityId where C.ProvinceId= 6

2.左外连接(显示左表所有数据,右表匹配不上的显示为NULL):

 select P.ProvinceId,P.ProvinceName,C.CityName,C.ProvinceId,C.CityId
from [dbo].[City] C LEFT JOIN [dbo].[Province] P ON P.ProvinceId = C.CityId where C.ProvinceId= 6

结果为:

3.右外连接(显示右表所有数据,左表匹配不上的显示为NULL):

 select P.ProvinceId,P.ProvinceName,C.CityName,C.ProvinceId,C.CityId
from [dbo].[Province] P RIGHT JOIN [dbo].[City] C ON P.ProvinceId = C.CityId where C.ProvinceId= 16

结果为:

4.全外连接(显示左右两量表所有数据,两表匹配不上的显示为NULL):

 select P.ProvinceId,P.ProvinceName,C.CityName,C.ProvinceId,C.CityId
from [dbo].[Province] P FULL OUTER JOIN [dbo].[City] C ON P.ProvinceId = C.CityId where C.ProvinceId= 6

结果为:

SQL Server中JOIN的使用方法总结的更多相关文章

  1. 最简单删除SQL Server中所有数据的方法

     最简单删除SQL Server中所有数据的方法 编写人:CC阿爸 2014-3-14 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间 ...

  2. 最简单删除SQL Server中所有数据的方法(不用考虑表之间的约束条件,即主表与子表的关系)

    其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSF ...

  3. SQL Server中GO的使用方法(转)

    GO不是标准SQL语句,甚至不是T-SQL语句.它只是SQL Server管理器(SSMS)中用来提交T-SQL语句的一个标志.你可以在SSMS中任意指定这个提交标志.SSMS->工具-> ...

  4. sql server中Join有几种

    JOIN: 如果表中有至少一个匹配,则返回行 (也就是 inner join)LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有 ...

  5. SQL Server中JOIN的用法

    JOIN 分为:内连接(INNER JOIN).外连接(OUTER JOIN).其中,外连接分为:左外连接(LEFT OUTER JOIN).右外连接(RIGHT OUTER JOIN).全外连接(F ...

  6. 【SQL】SQL Server中存储过程的调试方法

    1.以管理员用户登录DB服务器,把域用户追加到「Administrators」组. 2.在本机上以域用户登录,启动VS. 3.追加DB连接 4.右击要debug的存储过程,选择「ストアドプロシージャに ...

  7. SQL Server 中关于EXCEPT和INTERSECT的使用方法

    熟练使用SQL Server中的各种使用方法会给查询带来非常多方便.今天就介绍一下EXCEPT和INTERSECT.注意此语法仅在SQL Server 2005及以上版本号支持. EXCEPT是指在第 ...

  8. SQL Server中查询用户的对象权限和角色的方法

    --SQL Server中查询用户的对象权限和角色的方法 -- 查询用户的object权限 exec sp_helprotect NULL, 'sa' -- 查询用户拥有的role exec sp_h ...

  9. 从SQL Server中导入/导出Excel的基本方法(转)

    从sql server中导入/导出 excel 的基本方法 /*=========== 导入/导出 excel 的基本方法 ===========*/ 从excel文档中,导入数据到sql数据库中,很 ...

随机推荐

  1. node基础—global对象(全局对象)

    global对象的__filename属性和__dirname属性 __filename属性:返回当前执行的文件的文件路径,该路径是经过解析后的绝对路径,在模块中,该路径是模块文件的路径,此属性并非全 ...

  2. UVA1609-Foul Play(构造+递归)

    Problem UVA1609-Foul Play Accept: 101  Submit: 514Time Limit: 3000 mSec Problem Description Input Fo ...

  3. BZOJ1095:[ZJOI2007]Hide 捉迷藏(动态点分治)

    Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子们决定在家里玩 捉迷藏游戏.他们的家很大且构造很奇特,由N个屋子和N-1条 ...

  4. 转://oracle Wallet在expdp/impdp中使用场景

    oracle Wallet的使用(即内部加密技术TDE(Transparent Data Encryption )) 1. TDE是Oracle10gR2中推出的一个新功能,使用时要保证Oracle版 ...

  5. Linux:Day6(上) egrep、条件测试

    egrep及扩展的正则表达式: egrep = grep -E 扩展正则表达式的元字符: 或者:a | b 练习: 1.显示当前系统root.centos或user1用户的默认shell和UID: 2 ...

  6. 003_webpack 配合babel 将es6转成es5

    今天接触了webpack,第一次使用webpack进行转码,竟然稀里糊涂就成功了,哈哈. 下面附上流程 创建个文件夹,初始化一下,首先全局安装webpack npm install webpack - ...

  7. 联想Y700安装显卡驱动和CUDA8.0

    一显卡驱动安装 1 安装驱动安装软件 2 自动检测下载对应版本驱动 3下载完成后,点击开始,解压出来临时安装文件 由于是临时安装文件,退出就会关闭 4所以在没有关闭情况下,打开重新打开一次setup, ...

  8. ASP.NET Core MVC – Tag Helpers 介绍

    ASP.NET Core Tag Helpers系列目录,这是第一篇,共五篇: ASP.NET Core MVC – Tag Helpers 介绍 ASP.NET Core MVC – Caching ...

  9. 【vue】css解决“防抖动”——防止页面加载图片抖动

    overflow:hidden;height:0;padding-bottom:*; // 其中*处填 图片的高宽百分比=高/宽*100%

  10. CAS5.X 集群配置 初版

    基础版 cas-overlay  pom.xml <?xml version="1.0" encoding="UTF-8"?> <projec ...