首页 > 数据库 >SQL外部联合:right outer join、left outer join、full outer join

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

时间:2022-12-26 19:00:13浏览次数:35  
标签:right JOIN 外部 join Actors FilmId OUTER outer


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

 

左外部联合:LEFT OUTER JOIN

                                                  

SQL外部联合:right outer join、left outer join、full outer join_返回结果

基本语法: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

返回结果为:

SQL外部联合:right outer join、left outer join、full outer join_基本语法_02

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

 

 

左外部联合:RIGHT OUTER JOIN

                                                  

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

基本语法: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

返回结果如下:

SQL外部联合:right outer join、left outer join、full outer join_返回结果_04

 

 

完全外部联合:FULL OUTER JOIN

                                                  

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

基本语法: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;

返回结果如下:

SQL外部联合:right outer join、left outer join、full outer join_返回结果_06

 

 

 

 

 

 

 

标签:right,JOIN,外部,join,Actors,FilmId,OUTER,outer
From: https://blog.51cto.com/u_15921176/5970415

相关文章

  • [Vue Router warn]: No match found for location with path
    vue-router.mjs:35[VueRouterwarn]:Nomatchfoundforlocationwithpath""[VueRouterwarn]:uncaughterrorduringroutenavigation:原来用route.push报......
  • 子查询优化之 Semi-join 优化 | StoneDB 研发分享 #2
    缘起StoneDB在列式存储引擎Tianmu的加持下,在大多数场景下相对MySQL都会有大幅性能提升。当然,这是需要工程师不断优化代码才能做到的,而且,性能好也需要通过基准测试才有......
  • 48playwright
    playwright简介简介:Playwright是一个开源的自动化测试工具,它使用类似于Puppeteer的API来控制Web浏览器。它是由微软的开发人员编写的,旨在为自动化测试提供更多的功能和......
  • vue-router 路由
    安装及引入//安装npmivue-router//引入main.js...importVueRouterfrom"vue-router"...Vue.use(VueRouter)...newVue({router,//Vue实例上创......
  • 自动化测试神器playwright的安装及常见问题解决
    前言相信自动化测试的同学,对于另一个Python自动化测试神器selenium并不陌生,在playwright出现之前,selenium是自动化测试最常用的Python库,他支持多平台:windows、linux、MAC,且......
  • VUE3项目中的Router路由配置
    一、安装路由如果新建项目的时候已经有选择了Router选项就不需要再次安装了npminstallvue-router二、src目录下新增router文件夹,并在文件夹中新建index.ts文件impor......
  • vue-router
    七.Vue-router1、什么是vue-routervue-router是vue.js官方路由管理器。vue的单页应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传......
  • vue-router3,点击相同的路由,会报错NavigationDuplicated
    vue-router点击相同的路由链接会报错NavigationDuplicated{"_name":"NavigationDuplicated","name":"NavigationDuplicated","message":"Navigatingto......
  • Vue-router4.0接口快速识别
    Vue-router4.0接口快速识别<router-link> :将会被渲染a标签属性名属性类型属性作用tostring/object相当于跳转调用router.push(string/object)replacebo......
  • Industrial wifi6 router/wifi6-Qualcomm-IPQ6010/IPQ6018-Wallys
    MT7915/IPQ6000/IPQ6018/IPQ6010/IPQ4019/IPQ4029/IPQ5018/IPQ8072/IPQ8072A/IPQ8074/IPQ8074A/QCN6024/QCN9074/QCN9072/QCN9024/IPQ4018/IPQ4028/AR9223/QCA9880/QCA9882/......