SQL Server内连接、外连接、交叉连接
前言
在数据库查询中,我们常常会用到的表连接查询,而我自己在工作中也是时常用这些表连接查询。而就在刚刚我却还没有搞清楚数据库表连接到底有哪几种,
这几种表连接查询方式又有什么区别,实属惭愧!借以此文以谨记。
连接方式
数据库表连接查询分三种:内连接、外连接、交叉连接
那下面我们就来分别说说这三种连接。
内连接(inner join)
内连接又分为:等值连接、不等连接、自然连接
1、等值连接
我们在连接多表查询时,连接条件中使用等号(=)运算符,其查询结果中列出被连接表中的所有列,包括其中的重复列。
2、不等连接
我们在连接多表查询时,在连接条件中使用除等号(=)之外运算符(>、<、<>、>=、<=、!>和!<)
3、自然连接
我们在连接多表查询时,连接条件和等值连接相同,但是会删除连接表中的重复列。
外连接(outer join)
外连接分为:左连接(left join)或左外连接(left outer join)、右连接(right join)或右外连接(right outer join)、全连接(full join)或全外连接(full outer join)。
1、左连接
我们在连接多表查询时,返回左表中的所有行,如果左表中行在右表中没有匹配行,则结果中右表中的列返回空值。
2、右连接
我们在连接多表查询时,恰与左连接相反,返回右表中的所有行,如果右表中行在左表中没有匹配行,则结果中左表中的列返回空值。
3、全连接
我们在连接多表查询时,返回左表和右表中的所有行。当某行在另一表中没有匹配行,则另一表中的列返回空值。
交叉连接(cross join)
交叉连接:也称迪卡尔积
不带where条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积,如果带where,返回或显示的是匹配的行数。
注:cross join后加条件只能用where,不能用on |
SQL Server内连接、外连接、交叉连接的更多相关文章
- sql内连接外连接自然连接
为什么我们要使用内连接和外连接呢?可以从两张或者多张表中找出,我们需要的属性. 这个比较好:http://www.cnblogs.com/youzhangjin/archive/2009/05/22/ ...
- mysql数据库中的多表查询(内连接,外连接,子查询)
用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...
- 知识点:Oracle+表连接方式(内连接-外连接-自连接)+详解 来自百度文库
Oracle 表之间的连接分为三种: 1. 内连接(自然连接) 2. 外连接 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右 ...
- SQL Server DAC——专用管理员连接
今天打开数据库刚要连接时,看到“连接到服务器”窗口,突发的想到:要是SQL Server 不再响应正常的连接请求,又想使用数据库时,我们该怎么办? 其实我们还能通过“SQL Server D ...
- JDBC与SQL SERVER各个版本的连接方法
转至:blog.csdn.net/ying5420/article/details/4488246 1.SQL SERVER 2000 JDBC驱动程序:msbase.jar.mssqlserver. ...
- 解决SQL Server管理器无法连接远程数据库Error: 1326错误
解决SQL Server管理器无法连接远程数据库Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例 ...
- SQL Server 2005无法远程连接的解决方法
以前一直连接本地的数据库,连接SQL Server 2005是小菜的... 做项目也是老师搭好了服务器端,打上IP去访问就行...也不用考虑太多. 今天自己在公司搭SQL Server 2005服务器 ...
- JDBC连接SQL server与ADO.NET连接Sql Server对比
JDBC连接SQL server与ADO.NET连接Sql Server对比 1.JDBC连接SQL server 1)java方面目前有很多驱动能够驱动连接SQL servernet. 主流的有 ...
- 利用Ring Buffer在SQL Server 2008中进行连接故障排除
原文:利用Ring Buffer在SQL Server 2008中进行连接故障排除 出自:http://blogs.msdn.com/b/apgcdsd/archive/2011/11/21/ring ...
- sql server 2008 64位连接sql 2000服务器的时候出现
来源 https://blog.csdn.net/loeley/article/details/7095741 sql server 2008 64位连接sql 2000服务器的时候出现以下提示: 链 ...
随机推荐
- 深入理解OAuth2.0
1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...
- HDU4027 Can you answer these queries? 线段树
思路:http://www.cnblogs.com/gufeiyang/p/4182565.html 写写线段树 #include <stdio.h> #include <strin ...
- [Tommas] dateadd() 函数用法
DATEADD() 函数在日期中添加或减去指定的时间间隔. 语法 DATEADD(datepart,number,date) date 参数是合法的日期表达式.number 是您希望添加的间隔数:对于 ...
- 免费的SqlServer优化辅助工具:SqlOptimize (原创)
主要用于收集客户服务器的数据库运行情况,导出-导入到本地分析. 本工具不会修改你的数据和结构,只会读取相关数据. 1)工具软件下载 http://files.cnblogs.com/files/dud ...
- C#索引器的作用及使用
1. 作用: 可以使得类和实例能够像数组那样使用一样,又称为带参属性 2. 区分 (1)索引器与数组的比较: 索引器的索引值不受类型限制.用来访问数组的索引值一定是整数,而索引器可以是其他类型的索引值 ...
- 录制屏幕(gif)便于在博客中嵌入软件licecap
- 初学redux笔记,及一个最简单的redux实例
categories: 笔记 tags: react redux 前端框架 把初学redux的一些笔记写了下来 分享一个入学redux很合适的demo, 用redux实现计数器 这是从阮一峰老师git ...
- ERROR hdfs.DFSClient: Failed to close file解决方法
14/04/11 17:59:44 ERROR hdfs.DFSClient: Failed to close file /wlan_out/_temporary/_attempt_local_000 ...
- (qsf文件 、 tcl文件 和 csv(txt)文件的区别) FPGA管脚分配文件保存、导入导出方法
FPGA管脚分配文件保存方法 使用别人的工程时,有时找不到他的管脚文件,但可以把他已经绑定好的管脚保存下来,输出到文件里. 方法一: 查看引脚绑定情况,quartus -> assignment ...
- JAVA_3lesson
程序设计守则 为了增加程序的可扩展性,维护性.可以采用interface, abstract 可以抽象出来:共同的方法,属性 开发系统时,主体构架使用接口,接口构成了系统的骨架. 要遵循开 ...