inner join、left join、right join、full join
A表
| a1 | b1 | c1 |
| 01 | 数学 | 95 |
| 02 | 语文 | 90 |
| 03 | 英语 | 80 |
B表
| a2 | b2 |
| 01 | 张三 |
| 02 | 李四 |
| 04 | 王五 |
SQL语句:select A.*,B.* from A inner join B on (A.a1=B.a2)
结果:
| a1 | b1 | c1 | a2 | b2 |
| 01 | 数学 | 95 | 01 | 张三 |
| 02 | 语文 | 90 | 02 | 李四 |
SQL语句:select A.*,B.* from A left outer join B on (A.a1=B.a2)
结果:
| a1 | b1 | c1 | a2 | b2 |
| 01 | 数学 | 95 | 01 | 张三 |
| 02 | 语文 | 90 | 02 | 李四 |
| 03 | 英语 | 80 | NULL | NULL |
SQL语句:select A.*,B.* from A right outer join B on (A.a1=B.a2)
结果:
| a1 | b1 | c1 | a2 | b2 |
| 01 | 数学 | 95 | 01 | 张三 |
| 02 | 语文 | 90 | 02 | 李四 |
| NULL | NULL | NULL | 04 | 王五 |
SQL语句:select A.*,B.* from A full outer join B on (A.a1=B.a2)
结果:
| a1 | b1 | c1 | a2 | b2 |
| 01 | 数学 | 95 | 01 | 张三 |
| 02 | 语文 | 90 | 02 | 李四 |
| 03 | 英语 | 80 | NULL | NULL |
| NULL | NULL | NULL | 04 | 王五 |
说明:left join 相当于 left outer join ; right join 相当于 right outer join ; full join 相当于 full outer join。
inner join、left join、right join、full join的更多相关文章
- Hive 文件格式 & Hive操作(外部表、内部表、区、桶、视图、索引、join用法、内置操作符与函数、复合类型、用户自定义函数UDF、查询优化和权限控制)
本博文的主要内容如下: Hive文件存储格式 Hive 操作之表操作:创建外.内部表 Hive操作之表操作:表查询 Hive操作之表操作:数据加载 Hive操作之表操作:插入单表.插入多表 Hive语 ...
- IN、EXISTS的相关子查询用INNER JOIN 代替--性能优化
如果保证子查询没有重复 ,IN.EXISTS的相关子查询可以用INNER JOIN 代替.比如: IN.EXISTS的相关子查询用INNER JOIN 代替--sql2000性能优化
- mysql内连接(inner join 找两个表的交集)、左连接(left join 交集并且左表所有)、右连接(right join 交集并且右表所有)、全连接(mysql不支持)
用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...
- SQL JOIN语法,以及JOIN where 和and区别,还有where和join效率问题。
语法 join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. Join 和 Key 有时为了得到完整的结果,我们需要从两个或更多的表中获取结果.我们就需要执行 join. 数据库中的表可 ...
- Mysql系列八:Mycat和Sharding-jdbc的区别、Mycat分片join、Mycat分页中的坑、Mycat注解、Catlet使用
一.Mycat和Sharding-jdbc的区别 1)mycat是一个中间件的第三方应用,sharding-jdbc是一个jar包 2)使用mycat时不需要改代码,而使用sharding-jdbc时 ...
- 针对于多个inner join或者left join多条件查询的时候,各个inner join 的指向问题
转自https://blog.csdn.net/ck457897564/article/details/52487684 先看一段代码吧: <span style="font-size ...
- LINQ的左连接、右连接、内连接和Lamda表达式实现Left join
1.左连接: var LeftJoin = from t1 in l1join t2 in l2on t1.ID equals t2.ID into Joinedt12from t3 in Joine ...
- 三、并行流与串行流 Fork/Join框架
一.并行流概念: 并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流. java8中将并行进行了优化,我们可以很容易的对数据进行并行操作.Stream API可以声明性的通过pa ...
- Nested loops、Hash join、Sort merge join(三种连接类型原理、使用要点)
nested loop 嵌套循环(原理):oracle从较小结果集(驱动表.也可以被称为outer)中读取一行,然后和较大结果集(被侦查表,也可以叫做inner)中的所有数据逐条进行比较(也是等值连接 ...
- 4、linux-grep awk sed and cuf sort uniq join
1.grep 1.1 grep [-invc] [--color=auto] '搜寻字符串' filename选项与参数:-i :忽略大小写的不同-n :顺便输出行号-v :显示没有 '搜寻字符串' ...
随机推荐
- DAY15-HTTP协议简述
HTTP协议 一.HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网 ...
- Ros学习——C++发布器publisher和订阅器subscriber
1.编写发布器 初始化 ROS 系统 在 ROS 网络内广播我们将要在 chatter 话题上发布 std_msgs/String 类型的消息 以每秒 10 次的频率在 chatter 上发布消息 在 ...
- condition实现通知部分线程
多个condition实现通知部分线程: import java.util.concurrent.locks.Condition; import java.util.concurrent.locks. ...
- 后台执行UNIX/Linux命令和脚本的五种方法
hiveserver 后台启动 nohup "${HIVE_HOME}"/bin/hive --service hiveserver2 & 1. 使用&符号在后台执 ...
- Entity Relationships
Entity Relationships: Here, you will learn how entity framework manages the relationships between en ...
- java 包装类的应用
package integer; public class baozhuang { public static void main(String[] args) { System.out.printl ...
- Java 子类初始化过程
//父类 class Animal{ private String name; private int age; Animal(String name, int age) {//创建父类构造器 sup ...
- android 设置颜色的三种方法
1.利于系统自带的颜色类 如TextView1.setTextColor(Android.graphics.Color.RED); 2.数字颜色表示法 TextView1.setTextColor(0 ...
- 二维码的生成细节和原理 -- 转http://news.cnblogs.com/n/191671/
二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表示更多的数据类型:比如:字 ...
- Python-第三方库requests详解(附requests中文官方教程)
转自http://blog.csdn.net/cyjs1988/article/details/73294774 Python+requests中文官方教程: http://www.python-re ...