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 条评论
登录 后参与评论

相关文章

来自专栏大数据

mysql联合索引详解

上一篇文章:mysql数据库索引优化 比较简单的是单列索引(b+tree)。遇到多条件查询时,不可避免会使用到多列索引。联合索引又叫复合索引。 b+tree结构...

5499
来自专栏IT开发技术与工作效率

MySQL 8 列出相关依赖 使用CTE(公共数据表达式)

1885
来自专栏Albert陈凯

2018-07-20 oracle优化:避免全表扫描

例如:在City-State-Zip列创建了三列复合索引,那么仅对State列限定条件不能使用这个索引,因为State不是索引的主列。

1634
来自专栏程序员宝库

再见乱码:5 分钟读懂 MySQL 字符集设置

作者: 程序猿小卡_casper 原文:https://segmentfault.com/a/1190000012775484 一、内容概述 在MySQL的使...

41311
来自专栏java一日一条

理解MySQL——索引与优化

写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记 录,DBMS的页面大小为4K...

532
来自专栏mukekeheart的iOS之旅

MySQL学习笔记(二)

二、SQL基本知识 SQL 是一种典型的非过程化程序设计语言,这种语言的特点是:只指定哪些数据被操纵,至于对这些数据要执行哪些操作,以及这些操作是如何执行的,则...

25710
来自专栏运维技术迷

MySQL数据库(四):约束条件

安装环境: 操作系统版本:RHEL 6.5 版本:MYSQL 5.5 约束条件的作用: 限制如何给字段赋值,创建表的时候如果没有设置的话,就是my...

3175
来自专栏技术碎碎念

mysql使用基础 sql语句与数据完整性(二)

二、DML:Data Manipulation Language 数据操作语言   作用:操作表中的数据的。   关键:INSERT UPDATE DELE...

33410
来自专栏CaiRui

Mysql-5-数据表的基本操作

1.创建表:之前需要use database database_name 然后create table 表名(); 例:创建员工表tb_employee1,结构...

2256
来自专栏资深Tester

增删改查的增删改

2294

扫码关注云+社区