SQL连接查询和合并查询

连接查询分为内连接,交叉连接,外连接,外连接又可以分为左外连接,右外连接和全外连接,现在我们就来区分一下他们:

内连接:采用inner join关键字

举个例子:

交叉连接:使用cross join关键字 实际上就是关系A和关系B的笛卡尔积

例子:

答案:SELECT * FROM EMPLOYEE CROSS JOIN DEPT;

效果图:

左外连接:使用关键字left join 或者left outer join  执行结果中包含左表所有行,如果左表中某行在右表没有匹配,则结果中对应右表的部分全部为空。

右外连接:使用关键字 right join 或者right outer join ,执行结果中包含右表所有行,如果右表中某行在左表中没有匹配,则结果中对应行左表的部分全部为空。

例子:

全外连接:使用关键字full join或者full outer join,执行结果中包含左表和右表左右行,如果右表中某行在左表没有匹配,则结果中对应行左表的部分全部为空,反之亦然。

例子:

合并查询:

1.使用union[all]关键字。

2.俩张表的投影列的数量与数据类型必须相同。

3.如果包含all关键字,则不会删除重复行,也不会自动排序。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java思维导图

经典面试问题: Top K 之 -- 海量数据找出现次数最多或,不重复的

林冠宏 / 指尖下的幽灵 仅列举一些解决方法,事实的解决方案是非常多的。 这些问题都是面临着有如下的考虑: 内存不足以放下所有的数。 机器CPU的核数不够。 ...

3537
来自专栏数据结构与算法

HihoCoder#1513 : 小Hi的烦恼(五维数点 bitset 分块)

五位数点问题,写个cdq分治套cdq分治套cdq分治套cdq分析就完了 可以用bitset搞

391
来自专栏JavaQ

温故而知新-MySQL数据类型

选择数据类型的原则 MySQL支持多种数据类型,选择合适的数据类型存储数据对MySQL存储引擎来说至关重要,下面的一些原则可以在选择数据类型的时候做出更合适的选...

2947
来自专栏乐沙弥的世界

SQL, PL/SQL 之NUMBER数据类型

    NUMBER数据类型在Oracle中使用的较为广泛,可以存储零值,正负数,以及定长数,对于这个数据类型有个几个概念要搞清,否则容易搞混,下面给出具体描述...

682
来自专栏数据之美

BloomFilter 简介及在 Hadoop reduce side join 中的应用

1、BloomFilter能解决什么问题?      以少量的内存空间判断一个元素是否属于这个集合, 代价是有一定的错误率 2、工作原理 ...

1787
来自专栏牛肉圆粉不加葱

Spark的位置优先: TaskSetManager 的有效 Locality Levels

在Spark Application Web UI的 Stages tag 上,我们可以看到这个的表格,描述的是某个 stage 的 tasks 的一些信息,其...

703
来自专栏向治洪

数据结构是哈希表(hashTable)

哈希表也称为散列表,是根据关键字值(key value)而直接进行访问的数据结构。也就是说,它通过把关键字值映射到一个位置来访问记录,以加快查找的速度。这个映...

19310
来自专栏崔庆才的专栏

Scrapy爬虫去重效率优化之Bloom Filter的算法的对接

首先回顾一下Scrapy-Redis的去重机制。Scrapy-Redis将Request的指纹存储到了Redis集合中,每个指纹的长度为40,例如27adcc2...

6516
来自专栏Spark学习技巧

Spark源码系列之foreach和foreachPartition的区别

一,基本使用 1,RDD分布式数据集的五大特性 1),A list of partitions(一系列的分区) 2),A function for comput...

2617
来自专栏风口上的猪的文章

.NET面试题系列[10] - IEnumerable的派生类

IEnumerable分为两个版本:泛型的和非泛型的。IEnumerable只有一个方法GetEnumerator。如果你只需要数据而不打算修改它,不打算为集合...

602

扫码关注云+社区