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

假设有两张表:

A表有四行四列数据;B表有两行两列数据;它们之间通过ID关联;假设它们之间的ID有两个相同;

则:

select * from A a left (outer)  join B  b  on a.bid=b.id;

显示为:A表的四行四列全部显示,而B表满足条件的两条数据则全部显示;

A. 1                A.2                      A.3                 A.4                 B.1                       B.2

1       12                13                        23                   33                  tt                            dd

2       23                33                        11                  26                 null                        null

3       33                77                        25                 25                  aa                             cc

4       66                 99                       35                 36                  null                         null

而右连接恰好与左连接是相反的;

对应内连接:就是只显示满足条件的数据,不显示不满足条件的数据;它与左连接和右连接的区别是它不显示不满足条件的数据;而左连接会显示左表不满足条件的数据而右表不满足条件的数据用null来表示;而右连接与左连接相同的;

A. 1                A.2                      A.3                 A.4                 B.1                       B.2

1       12                13                      23                   33                  tt                            dd

3       33                77                      25                 25                  aa                            cc

时间: 2024-10-12 03:42:14

数据库中内连接和左连接和右连接的区别的相关文章

SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接

SQL连接可以分为内连接.外连接.交叉连接. 数据库数据:             book表                                          stu表 1.内连接 1.1.等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列. 1.2.不等值连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值.这些运算符包括>.>=.<=.<.!>.!<和<&g

inner join(内连接)、left join(左连接)、right join(右连接)、full join(全连接)区别

sql中的连接查询有inner join(内连接).left join(左连接).right join(右连接).full join(全连接)四种方式,它们之间其实并没有太大区别,仅仅是查询出来的结果有所不同.例如我们有两张表: Orders表通过外键Id_P和Persons表进行关联. 1.inner join(内连接),在两张表进行连接查询时,只保留两张表中完全匹配的结果集. 我们使用inner join对两张表进行连接查询,sql如下: SELECT p.LastName, p.First

mysql内联接、左联接、右联接

--内联接---- select goods_id,goods_name,cate_name from tdb_goods inner join tdb_goods_cates on tdb_goods.cate_id=tdb_goods_cates.cate_id\G; 内联接返回两张表中都有的 select goods_id,goods_name,brand_name from tdb_goods inner join tdb_brand on tdb_goods.brand_id=tdb_

mysql 内联接、左联接、右联接、完全联接、交叉联接 区别

测试表SQL语句 create table a ( id int unsigned not null primary key auto_increment, name char(50) not null default '' )engine=myisam default charset=utf8; create table b ( id int unsigned not null primary key auto_increment, name char(50) not null default

关于数据库中内连接与外连接的区别

inner join  on :对于左表的每一条记录和右表作乘积,如果满足on条件则加入结果集,最终的记录数>=0left    join  on :对于左表的每一条记录和右表作乘积,如果不存在满足on条件的记录,则添加一条记录(需要返回的右表列以null表示),最终的记录数>=左表的记录数right  join on : 对于右表的每一条记录和左表作乘积,如果不存在满足on条件的记录,则添加一条记录(需要返回的左表列以null表示),最终的记录数>=右表的记录数

【翻译自mos文章】oracle数据库中 基本的表压缩和高级压缩之间的区别

基本的表压缩和高级压缩之间的区别, 摘录自mos文章Difference Between Basic Table Compression And Advanced Compression (Doc ID 1548187.1) 适用于: Oracle Database - Enterprise Edition - Version 10.2.0.5 and later Information in this document applies to any platform. 目标: What is

SQL:内连接、左外连接、右外连接、全连接、交叉连接区别

有两个表A和表B.表A结构如下: Aid:int:标识种子,主键,自增ID Aname:varchar 数据情况,即用select * from A出来的记录情况如下图1所示: 图1:A表数据表B结构如下: Bid:int:标识种子,主键,自增ID Bnameid:int 数据情况,即用select * from B出来的记录情况如下图2所示: 图2:B表数据为 了把Bid和Aid加以区分,不让大家有误解,所以把Bid的起始种子设置为100.有SQL基本知识的人都知道,两个表要做连接,就必须有个

Mysql之左连接右连接内连接——示例 (转)

下面是两张表 表stu 表tech 1.右连接 当使用右连接语句查询时,返回结果如下: 1 SELECT stu.id,stu.name,stu.classe_name,tech.id,tech.name FROM stu RIGHT JOIN tech on stu.classe_name=tech.classe_name; 从结果中可以看出,tech表中被查询的字段会被全部显示出来,而stu表中,只有与表tech的classe_name相同的条目的相应字段才会被显示出来. 右连接即:返回右边

SQL 四种连接:内连接、左外连接、右外连接、全连接--转载

原文:http://zwdsmileface.iteye.com/blog/2191730 个人理解 内连接(INNER JOIN)(典型的连接运算,使用像   =   或   <>   之类的比较运算符).包括相等连接和自然连接. 内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行 左连接(LEFT   JOIN   或   LEFT   OUTER   JOIN)是右左边表中的数据为基准,若左表有数据右表没有数据,否则显示左表中的数据右表中的数据显示为空 右连接(RIGHT  JO