SQL外部联合:right outer join、left outer join、full outer join

简介: SQL将外部联合分为了右外部联合(right outer join)、左外部联合(left outer join)、完全外部联合(full outer join)3个类型。

SQL将外部联合分为了右外部联合(right outer join)、左外部联合(left outer join)、完全外部联合(full outer join)3个类型。


左外部联合:LEFT OUTER JOIN

   

                 20200217142954847.png                        


基本语法:SELECT column_list


                  FROM table1 LEFT OUTER JOIN table2


                  ON condition


思想:OUTER JOIN语句表1中的所有记录都被返回在结果中,即使表2没有匹配的。


举例:现有演员信息表(Actors)和电影信息表(Class),下文中分别简称表1和表2,具体数据如下:


Actors

SId

SActor SDateOfBirth FilmId
1 贝拉 1999-08-07 1
2 爱德华 1998-04-20 3
3 雅各布 1998-11-28 5


Films

FilmId FilmName YearReleased
1 暮色 2005
2 新月 2006
3 月食 2007
4 破晓 2008
5 午夜阳光 2009


SELECT Actors.SActor, Film.FileName,
FROM Actors LEFT JOIN Film
ON Actors.FilmId = Film.FilmId


返回结果为:


20200217193818105.png表1中的只有3个记录全部都包含在结果中。


左外部联合:RIGHT OUTER JOIN

                 

      20200217194246818.png                      


基本语法:SELECT column_list


                  FROM table1 RIGHT OUTER JOIN table2


                  ON condition


思想:与外部联合相反。都返回表2中的所有记录,即使表1没有相匹配的记录


举例:演员信息表(Actors)和电影信息表(Class)


SELECT SActor, FilmName, YearReleased
FROM Actors RIGHT OUTER JOIN Films
ON Actors.FilmId = Films.FilmId


返回结果如下:


20200217200244315.png


完全外部联合:FULL OUTER JOIN

           

             20200217200609169.png                    


基本语法:SELECT column_list


                  FROM table1 FULL OUTER JOIN table2


                  ON condition


思想:左外部联合和右外部联合的组合。返回表1和表2的所有行


举例:现有演员信息表(Actors)和电影信息表(Class)


SELECT SActor, FilmName, YearReleased
FROM Actors FULL OUTER JOIN Films
ON Actors.FilmId = Films.FilmId;


返回结果如下:


20200217201204833.png

相关文章
|
11月前
|
SQL
SQL JOIN
【11月更文挑战第06天】
134 4
|
12月前
|
SQL 关系型数据库 MySQL
图解 SQL 里的各种 JOIN
用文氏图表示 SQL 里的各种 JOIN,一下子就理解了。
261 2
|
12月前
|
SQL 分布式计算 Java
Hadoop-11-MapReduce JOIN 操作的Java实现 Driver Mapper Reducer具体实现逻辑 模拟SQL进行联表操作
Hadoop-11-MapReduce JOIN 操作的Java实现 Driver Mapper Reducer具体实现逻辑 模拟SQL进行联表操作
181 3
|
Java 网络架构 数据格式
Struts 2 携手 RESTful:颠覆传统,重塑Web服务新纪元的史诗级组合!
【8月更文挑战第31天】《Struts 2 与 RESTful 设计:构建现代 Web 服务》介绍如何结合 Struts 2 框架与 RESTful 设计理念,构建高效、可扩展的 Web 服务。Struts 2 的 REST 插件提供简洁的 API 和约定,使开发者能快速创建符合 REST 规范的服务接口。通过在 `struts.xml` 中配置 `<rest>` 命名空间并使用注解如 `@Action`、`@GET` 等,可轻松定义服务路径及 HTTP 方法。
170 0
|
SQL 存储 关系型数据库
软件测试|SQL JOIN的用法,你会了吗?
软件测试|SQL JOIN的用法,你会了吗?
软件测试|深入理解SQL FULL JOIN:语法、用法及示例解析
软件测试|深入理解SQL FULL JOIN:语法、用法及示例解析
|
SQL
一张图看懂 SQL 的各种 join 用法!
一张图看懂 SQL 的各种 join 用法!
481 0
一张图看懂 SQL 的各种 join 用法!
|
SQL 关系型数据库 MySQL
SQL:MySQL7种JOIN用法总结
SQL:MySQL7种JOIN用法总结
378 0
SQL:MySQL7种JOIN用法总结
|
SQL
一张图看懂 SQL 的各种 join 用法!
一张图看懂 SQL 的各种 join 用法!
234 0
一张图看懂 SQL 的各种 join 用法!
|
SQL 关系型数据库 MySQL
浅析SQL中的JOIN用法
浅析SQL中的JOIN用法
386 0
浅析SQL中的JOIN用法

热门文章

最新文章