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内链接,外连接,交叉连接,联合连接区别详解

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

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

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

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

?连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件。WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行。 连接可分为以下几类: ...

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

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

sql中什么时候用内连接查询,什么时候用外连接查询?用起来好像一样啊!

我用内连接查询和外连接查询的结果是一样的,两者有什么不同? 需要查找两张表同时存在的数据,使用内连接需要查找两张表中一张表存在,另一张表不存在的时候使用左外链接 或 右外链接内连接的查询结果都是满...

SQL的内连接与外连接

     在oracle的SQL语句常用的连接有内连接(inner join),外连接(outer join)等,内连接又包括等值连接,非等值连接,自连接;而外连接又分为左连接和右连接。其中默认的是内...

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

对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Codin...

SQL内连接与外连接

概述 1、内联接(典型的联接运算,使用像 = 或 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。 2、外联接...

左链接与内连接的区别、左连接查询的两种查法

TABLE A ;TABLE B 内连接:A INNER JOIN B ,在A中也有,在B中也有的数据才能查询出来 左连接:A LEFT JOIN B,连接查询的数据,在A中必须有,在B中可以有可以没...

SQL中内连接和外连接区别

弄个例题,直观一点。两个表:--表stu id name 1, Jack2, Tom3, Kity4, nono--表examid grade1, 562, 7611, 89内连接 (显示两表id匹...
  • lbp889
  • lbp889
  • 2014年11月12日 20:06
  • 328
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql中内连接与外连接的区别
举报原因:
原因补充:

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