Oracle SQL——inner jion;left join;right join的区别和使用场景
背景
- 在一次面试的时候,面试官让我说一下这三者的使用场景和区别,当时瞬间懵逼,哈哈。回来赶快看一看,记下来。
详解
- inner join
- 等值查询:返回两张表中,联结字段值相等的组合记录
- 举例:所有学生参加考试,学生考试结果查询
- 表如下
表Student(学生表)记录如下:
t_id name
1 龙
2 情
3 风
4 月
5 度 表Score(分数表)记录如下:
c_id num t_id
1 50 1
2 88 2
3 90 3
4 62 4
5 0 5 - 查询语句:select s.t_id,s.name,c.num from Student s inner join Score c on s.t_id=c.t_id;
- 查询结果
t_id name num
1 龙 50
2 情 88
3 风 90
4 月 62
5 度 0
- 表如下
- left join
- 左外关联查询:返回包括左表中的所有记录和右表中联结字段有关的组合记录。如果左表中数据多于右表,查询结果中右表的数据为null。
- 举例:一个学生没有参加考试,查询考试结果
- 表如下
表Student(学生表)记录如下:
t_id name
1 龙
2 情
3 风
4 月
5 度表Score(分数表)记录如下:
c_id num t_id
1 50 1
2 88 2
3 90 3
4 62 4 - 查询语句:select s.t_id,s.name,c.num from Student s left join Score c on s.t_id=c.t_id;
- 查询结果
t_id name num
1 龙 50
2 情 88
3 风 90
4 月 62
5 度 null
- 表如下
- right join
- 右外关联查询:返回包括右表中的所有记录和左表中联结字段相等的组合记录。如果右表中数据多于左表,查询结果中左表的数据为null。
- 举例
- 表如下
表Student(学生表)记录如下:
t_id name
1 龙
2 情
3 风 表Score(分数表)记录如下:
c_id num t_id
1 50 1
2 88 2
3 90 3
4 62 4 - 查询语句:select s.t_id,s.name,c.num from Student s rightjoin Score c on s.t_id=c.t_id;
- 查询结果如下
t_id name num
1 龙 50
2 情 88
3 风 90
null null 62
- 表如下
Oracle SQL——inner jion;left join;right join的区别和使用场景的更多相关文章
- Oracle SQL Lesson (6) - 使用Join进行联合查询
使用连接SQL 1999SELECT table1.column, table2.columnFROM table1[NATURAL JOIN table2] |[JOIN table2 USING ...
- Oracle SQL中join方式总结
在ORACLE数据库中,表与表之间的SQL JOIN方式有多种(不仅表与表,还可以表与视图.物化视图等联结).SQL JOIN其实是一个逻辑概念,像NEST LOOP JOIN. HASH JOIN等 ...
- mysql inner join,full outer join,left join,right jion
https://sites.google.com/site/349624yu/courses/mysql/mysqldbgjzcx inner join,full outer join,left jo ...
- SQL中的Join和Where的区别
一.sql语句中left join.inner join中的on与where的区别 0.各种join操作的概念和作用 left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录. ...
- SQL JOIN语法,以及JOIN where 和and区别,还有where和join效率问题。
语法 join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. Join 和 Key 有时为了得到完整的结果,我们需要从两个或更多的表中获取结果.我们就需要执行 join. 数据库中的表可 ...
- SQL Left Join, Right Join, Inner Join, and Natural Join 各种Join小结
在SQL语言中,存在着各种Join,有Left Join, Right Join, Inner Join, and Natural Join等,对于初学者来说肯定一头雾水,都是神马跟神马啊,它们之间到 ...
- 图解SQL的inner join(join)、left join、right join、full outer join、union、union all的区别
对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...
- sql表连接left join,right join,inner join三者之间的区别
sql表连接left join,right join,inner join区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 (以左表数据为基准,不足补为NULL) ...
- SQL内连接-外连接join,left join,right join,full join
1.创建测试表test1及test2 SQL)); 表已创建. SQL)); 表已创建. ,'name1'); ,'name2'); ,'name3'); ,'name4'); ,'name5'); ...
随机推荐
- idea创建java的web项目
2. 3. 4. 5. 6. 步骤八: 点击那个倒立的三角形,然后点击Edit Configurations; 步骤八: 步骤九:配置tocat服务器 步骤十:哎,发现,我怎么就只有一个选项呀,art ...
- leetCodelinked-list-cycle-ii找到链表的环
题目 Given a linked list, return the node where the cycle begins. If there is no cycle, return null. N ...
- python3 TypeError: a bytes-like object is required, not 'str'
在学习<Python web开发学习实录>时, 例11-1: # !/usr/bin/env python # coding=utf-8 import socket sock = sock ...
- 为什么C++函数形参默认值从最末一个赋值?
[1]函数调用时形参的压栈顺序 1.示例代码如下(VS2010): #include <iostream> using namespace std; ); void fun(int a, ...
- python 什么是位置参数?
位置参数是必选参数 ----不能不传, ----不能传一部分, ---必须按顺序传 ----必须传全部参数
- AI赌神称霸德扑的秘密,刚刚被《科学》“曝光”了
AI赌神称霸德扑的秘密,刚刚被<科学>“曝光”了 称霸德州扑克赛场的赌神Libratus,是今年最瞩目的AI明星之一. 刚刚,<科学>最新发布的预印版论文,详细解读了AI赌神背 ...
- Jmeter压力测试和接口测试
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要安 ...
- 关于spark进行实时日志解析,保存hbase与mysql
进行地域分析 rowkey=中国_上海_201901016 value=访问次数 areaStartAmt.foreachRDD(rdd => { rdd.foreachPartition(pa ...
- Linux 安装 mysql 数据库
1. 克隆虚拟机 2. 上传安装文件 1.上传文件 2.解压文件 tar -xvf 文件 3. 安装数据库 安装顺序: .debuginfo .shared .client .server 1. rp ...
- 从实践出发:微服务布道师告诉你Spring Cloud与Spring Boot他如何选择
背景 随着公司业务量的飞速发展,平台面临的挑战已经远远大于业务,需求量不断增加,技术人员数量增加,面临的复杂度也大大增加.在这个背景下,平台的技术架构也完成了从传统的单体应用到微服务化的演进. 系统架 ...