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之JVM堆内存分配

Java堆是被所有线程共享的一块内存区域,所有对象和数组都在堆上进行内存分配。为了进行高效的垃圾回收,虚拟机把堆内存划分成新生代、老年代和永久代(1.8中无永久...

2017
来自专栏深度学习之tensorflow实战篇

R语言读CSV、txt文件方式以及read.table read.csv 和readr(大数据读取包)

首先准备测试数据*(mtcars) 分别为CSV.    TXT ? read.table 默认形式读取CSV(×)与TXT(效果理想) ① > test<-r...

7898
来自专栏生信小驿站

数据处理第3部分:选择行的基本和高级的方法

原文地址:https://suzan.rbind.io/2018/02/dplyr-tutorial-3/ 作者:Suzan Baert 这是系列dplyr...

651
来自专栏向治洪

深入理解Java之JVM堆内存分配

Java堆是被所有线程共享的一块内存区域,所有对象和数组都在堆上进行内存分配。为了进行高效的垃圾回收,虚拟机把堆内存划分成新生代、老年代和永久代(1.8中无永久...

2118
来自专栏窗户

我博客上的围棋js程序

  版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址   http://www.cnblogs.com/Colin-C...

3766
来自专栏everhad

android输入限制

前言2 使用EditText让用户输入文字时,需要对输入验证。除过验证是否有效的逻辑不同,EditText的基本交互是一样的: 考虑到可能的copy,past...

1816
来自专栏JackeyGao的博客

Django小技巧22: 设计一个好的模型

本篇将分享一些技巧,用户改进 Model 的设计。其中有很多与命名约定有关, 这可以大大的提高代码的可读性。

672
来自专栏刘远的专栏

airflow—给DAG实例传递参数(4)

我们需要在创建dag实例时传递参数,每个任务都可以从任务实例中获取需要的参数。

8837
来自专栏影子

珍爱生命,远离JS=>JS避坑记

转载请注明源地址: http://www.cnblogs.com/funnyzpc/p/8407952.html

783
来自专栏逆向与安全

菜鸟 学注册机编写之 “序列号组合”

1.OD载入程序, F9运行, 点击”Register”随便输入用户名与注册码,如下图:

750

扫码关注云+社区