sql中内连接与外连接的区别

转载 2015年07月08日 09:48:49
你是要弄清楚区别在什么地方还是单纯想要文字说明
文字说明的楼上说了一大堆了,不说了。
弄个例题,直观一点。两个表:
--表stu
id name
1, Jack
2, Tom
3, Kity
4, nono
--表exam
id grade
1, 56
2, 76
11, 89

内连接 (显示两表id匹配的)
select stu.id,exam.id,stu.name, exam.grade from stu inner join exam on stu.id=exam.id
stu.id exam.id name grade
--------------------------------
1 1 Jack 56
2 2 Tom 76

左连接(显示join 左边的表的所有数据,exam只有两条记录,所以stu.id,grade 都用NULL 显示)
select stu.id,exam.id,stu.name, exam.grade from stu left join exam on stu.id=exam.id
1 1 Jack 56
2 2 Tom 76
3 NULL Kity NULL
4 NULL nono NULL

右连接(与作连接相反,显示join右边表的所有数据)
select stu.id,exam.id,stu.name, exam.grade from stu right join exam on stu.id=exam.id
1 1 Jack 56
2 2 Tom 76

NULL 11 NULL 89



所以,具体使用什么连接,还是要看自己是什么样的需求,比如,在一张表中插入一条新的记录的

时候,插入之前要对表中关键字段进行判断,有的时候,会涉及到两张表中某字段的存在性进行验证

当涉及到的两张表的关系是且的关系的时候,就需要使用内连接;当两个字段存在性是或的关系,并且以

第一张表的字段为主的时候,就需要使用左连接;同样的情况,以第二个表中字段为主进行验证的情况就

需要使用右连接。综上所述,对于存在性的检验,还是内连接比较常见。

SQL的内连接与外连接

     在oracle的SQL语句常用的连接有内连接(inner join),外连接(outer join)等,内连接又包括等值连接,非等值连接,自连接;而外连接又分为左连接和右连接。其中默认的是内...
  • hellowheat
  • hellowheat
  • 2009年05月21日 22:20
  • 29538

详解SQL Server连接(内连接、外连接、交叉连接)

在查询多个表时,我们经常会用“连接查询”。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 什么是连接查询呢?     概念:根据两个表或多个表的列之间的关系,从这些表中...
  • jiuqiyuliang
  • jiuqiyuliang
  • 2013年08月30日 11:42
  • 95386

数据库内连接与外连接

数据库中涉及两个表之间的数据查询通常使用连接的方法实现。连接分为内连接和外连接。 内连接: 指连接结果仅包含符合连接条件的行,参与连接的两个表都应该符合连接条件。 外连接: ...
  • tianhuadihuo
  • tianhuadihuo
  • 2011年08月29日 11:25
  • 28393

数据库-内连接与外连接的区别(举例说明)

内连接,也被称为自然连接,只有两个表相匹配的行才能在结果集中出现。返回的结果集选取了两个表中所有相匹配的数据,舍弃了不匹配的数据。由于内连接是从结果表中删除与其他连接表中没有匹配的所有行,所以内连接可...
  • Dove_Knowledge
  • Dove_Knowledge
  • 2017年05月08日 15:58
  • 1425

数据库中的左外连接右外连接和内连接的区别?

先说左外连接和右外连接: [TEST1@orcl#16-12月-11] SQL>select * from t1; ID NAME ---------- --------------...
  • u013133077
  • u013133077
  • 2014年01月22日 15:34
  • 2481

内连接与外连接的区别

内连接与外连接的区别 转载自 :http://www.cnitblog.com/stomic/archive/2011/03/24/73180.html 感觉原...
  • zzjjiandan
  • zzjjiandan
  • 2014年03月04日 11:03
  • 2233

SQL内链接,外连接,交叉连接,联合连接区别详解

一、准备工作:创建数据表并填写信息 class表: student表: 二、详解1、内链接INNER JOIN 用于取得两个表中存在连接匹配关系的记录(例如:某一列相等)。通常配合比较运算符...
  • calm_thinker
  • calm_thinker
  • 2017年03月16日 17:53
  • 900

图解 SQL 各种连接查询之间的区别

对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Codin...
  • xuanjiewu
  • xuanjiewu
  • 2016年02月04日 21:39
  • 4683

深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接

1、内联接(典型的联接运算,使用像 =  或 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。        ...
  • seanb
  • seanb
  • 2016年06月06日 11:27
  • 27627

SQL 左外连接,右外连接,全连接,内连接 4种连接的区别

?连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件。WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行。 连接可分为以下几类: ...
  • A82168506
  • A82168506
  • 2011年08月19日 17:49
  • 71396
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql中内连接与外连接的区别
举报原因:
原因补充:

(最多只允许输入30个字)