`
JaneLan
  • 浏览: 47810 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

SQL语句inner join,left join ,right join连接的不同之处

    博客分类:
SQL 
阅读更多
表A记录如下:
aID         aNum
1           a20050111
2           a20050112
3           a20050113
4           a20050114
5           a20050115

表B记录如下:
bID         bName
1             2006032401
2           2006032402
3           2006032403
4           2006032404
8           2006032408


实验如下:
1.left join

sql语句如下: 
select * from A
left join B 
on A.aID = B.bID

结果如下:
aID         aNum                   bID           bName
1             a20050111         1               2006032401
2             a20050112         2               2006032402
3             a20050113         3               2006032403
4             a20050114         4               2006032404
5             a20050115         NULL       NULL
(所影响的行数为 5 行)

结果说明:
         left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
B表记录不足的地方均为NULL.

2.right join

sql语句如下: 
select * from A
right join B 
on A.aID = B.bID

结果如下:
aID         aNum                   bID           bName
1             a20050111         1               2006032401
2             a20050112         2               2006032402
3             a20050113         3               2006032403
4             a20050114         4               2006032404
NULL     NULL                   8               2006032408
(所影响的行数为 5 行)

结果说明:

    仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.

3.inner join

sql语句如下: 
select * from A
innerjoin B 
on A.aID = B.bID

结果如下:
aID         aNum                   bID           bName
1             a20050111         1               2006032401
2             a20050112         2               2006032402
3             a20050113         3               2006032403
4             a20050114         4               2006032404

结果说明:

   很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.
分享到:
评论

相关推荐

    SQL语句left join/right join/inner join 的用法比较

    本篇文章将深入探讨LEFT JOIN、RIGHT JOIN以及INNER JOIN的用法,并通过实例进行对比,帮助理解它们之间的差异。 1. LEFT JOIN(左连接) LEFT JOIN返回所有左表(在本例中为A表)的记录,即使在右表(B表)中没有...

    inner join、 left join 、right join、 outer join之间的区别

    根据连接的方式不同,可以分为几种类型:`INNER JOIN`、`LEFT JOIN`、`RIGHT JOIN`以及`FULL OUTER JOIN`。下面将详细解释这些连接方式的区别。 #### INNER JOIN (内连接) `INNER JOIN`是最常用的一种连接方式,它...

    关于SQL 中的inner join的使用

    **INNER JOIN** 是SQL中最常用的连接类型之一,主要用于从两个或多个表中提取数据,其中仅返回那些满足连接条件的记录。简单来说,INNER JOIN返回的是两个表中匹配部分的数据。 #### 二、INNER JOIN的语法结构 ...

    sql语句中join的用法

    下面我们将详细介绍几种常见的JOIN类型:内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)以及全连接(FULL JOIN),并通过具体的例子进行说明。 #### 一、内连接(INNER JOIN) 内连接是最常用...

    (Left join , Right Join, Inner Join)用法详解

    本文将详细介绍三种常见的连接类型:Left Join、Right Join 和 Inner Join,并通过具体的例子来帮助大家理解这些连接的具体应用。 #### 二、Left Join Left Join(也称为 Left Outer Join)是从左表(即第一个被...

    left join right join inner join 区别和联系

    左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)是三种最基本的连接类型。在本节中,我们将详细介绍左连接、右连接和内连接的区别和联系。 左连接(LEFT JOIN) 左连接返回左表中的所有行,右表...

    SQL表连接查询(inner join、full join、left join、right join)1

    在SQL中,主要有四种类型的连接查询:内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。下面将详细解释这四种连接方式。 1. 内连接(INNER JOIN): 内连接返回两个表中...

    SQL语句优化之JOIN和LEFT JOIN 和 RIGHT JOIN语句的优化

    SQL语句优化对于大型数据库系统至关重要,特别是在涉及多表查询时,JOIN、LEFT JOIN 和 RIGHT JOIN 的高效运用能显著提升查询速度。以下将详细探讨这些JOIN类型以及相关的优化策略。 JOIN原理: JOIN操作实际上是...

    LINQ to SQL语句之Join和Order By

    LINQ to SQL语句之Join和Order By部分代码 语句描述:这个例子在From子句中使用外键导航筛选在西雅图的雇员,同时列出其所在地区。这条生成SQL语句为: SELECT [t0].[FirstName], [t0].[LastName], [t2]....

    SQL left join

    在本文中,我们将详细介绍SQL Left Join的使用方法、特点和区别,以及与Right Join和Inner Join的比较。 一、SQL Left Join的定义和使用 SQL Left Join也称为左外连接,它可以将左表中的所有记录与右表中的记录...

    SQL 外链接操作小结 inner join left join right join

    SQL 外链接操作小结 inner join left join right join SQL 外链接操作是关系型数据库管理系统中的一种基本操作,用于从多个表中检索数据。外链接操作可以分为三种:inner join、left join 和 right join。 inner ...

    sql join( inner join, outer join) 分析

    如果我们要找出所有有部门信息的员工,我们可以使用以下INNER JOIN语句: ```sql SELECT Employees.* FROM Employees INNER JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID; ``` 这将...

    sql语句中join的用法和效率说明.doc

    常见的 Join 语句有三种:Left Join、Right Join 和 Inner Join。 1. Left Join Left Join 也称为左联接,它返回包括左表中的所有记录和右表中联结字段相等的记录。例如,假设我们有两个表 A 和 B,A 表中的记录...

    数据库关联查询(left,right,inner join)

    右连接(Right Join)与左连接相似,不同之处在于它返回的是右表(即写在 RIGHT JOIN 关键字后面的表)的所有记录,即使左表中没有与之匹配的记录。对于左表中不存在匹配的记录,结果集中将显示为 NULL。 **语法...

    join on 语句及扩展

    在SQL查询中,JOIN操作是用于合并两个或更多表中的数据的关键部分,它允许你在不同表之间建立联系,以便从多个源获取所需的信息。这里我们将深入探讨几种JOIN类型及其使用,以及ON和WHERE子句的区别。 1. INNER ...

    hive sql + left join 数据缺失

    问题发生在如下的SQL语句中: ```sql SELECT a.* FROM ( SELECT n.* FROM dw.dwm_exhibition_base n INNER JOIN ( SELECT database_name, MAX(dt) AS dt FROM dw.dwm_exhibition_base WHERE database_name = '...

    画图解释 SQL join 语句1

    SQL Join 语句是数据库管理系统中最基本也是最重要的语句之一。它允许用户从多个表中检索数据,并将其组合成一个结果集。今天,我们将使用图形来解释 SQL Join 语句的各种类型。 INNER JOIN INNER JOIN 也称为等值...

    SQL语句教程 写法大全

    同时,本教程还涵盖了 SQL 高级知识,如 Top 语句、Like 语句、通配符、In 语句、Between 语句、Aliases 语句、Join 语句、Inner Join 语句、Left Join 语句、Right Join 语句、Full Join 语句、Union 语句、Select ...

Global site tag (gtag.js) - Google Analytics