Union、Join语句
Union、Join语句
- Union
- 定义
- 语法
- Join
- 示例表
- 定义
- 语法
- 连接属性
- [outer]join(内连接)
- 定义
- 例子
- Left[outer]join (左[外]连接)
- 定义
- 例子
- Right [outer]join(右[外]连接)
- 定义
- 例子
- Full [outer]join(全[外]连接)
- 定义
- 例子
- left semi join(左半连接)
- 定义
- 例子
- cross join (笛卡尔关联)
- 定义
- 例子
Union
定义
1、Union 语句用于将
多个
select语句的结果集合并为一个
结果集
2、连接的第一个
select语句第一个字段集作为最终结果的字段集
3、连接的字段个数
和数据类型
都必须保持一致
语法
--union[all|distinct] all:全选 distinct:去重
select 语句1 union[all|distinct] select 语句2 union[all|distinct]
Join
示例表
表A:
i d | name |
---|---|
1 | 张三 |
2 | 李四 |
2 | 王五 |
表B:
i d | age |
---|---|
1 | 20 |
2 | 29 |
3 | 30 |
定义
Join语句主要是 基于两个或
多个表
,列之间
的关系,并进行连接
语法
select 多个表显示的字段 from 表n1 连接属性 表n2 on 条件[如果没有on 就会进行笛卡尔积操作(两表行数乘积)]
连接属性
[outer]join(内连接)
定义
内连接
,只返回表相匹配
的数据
例子
select a.id, a.name, b.age from a join b on a.id = b.id
结果:
Left[outer]join (左[外]连接)
定义
左外连接
,关键字outer可以省略
意义一样,关键字左边的表称为主表
,返回的记录数
是主表的记录数
,关联不上的字段设为null
例子
select a.id, a.name, b.age from a left join b on a.id = b.id
结果:
Right [outer]join(右[外]连接)
定义
右外连接,outer关键字可以省略。
以关键字右边
的表为主表
,记录数和主表相同,关联不上的字段设为null
例子
select a.id, a.name, b.age from a right join b on a.id = b.id
结果:
Full [outer]join(全[外]连接)
定义
全外关联,关键字outer可以省略
以两个表的记录为基准,返回两个表的记录去重记录之和,其中匹配不上的数据设为null
例子
select a.id, a.name, b.age from a full join b on a.id = b.id
结果:
left semi join(左半连接)
定义
left semi join左半连接,以关键字左边的表为主表,只返回
key也在副表
(关键字右边)中的记录
例子
select a.name, b.name from a left semi join b on a.id = b.id
结果:
cross join (笛卡尔关联)
定义
返回两张表的笛卡尔积结果,也就是返回
两个表的记录行数乘积
(表A的行数 * 表B的行数)
例子
select a.id, a.name, b.age from a cross join b
结果:
Union、Join语句相关推荐
- SQL Server中的Union和Union All语句之间的差异及其性能
SQL Server中的Union和Union All语句之间的差异及其性能 UNION vs UNION ALL 了解union和union all语句之间的差异及其性能. UNION UNION命 ...
- mysql默认join是什么类型_MySQL:join语句类型
MySQL:join语句类型 join从句的类型有以下几种: 内链接(inner) 右外连接(right outer) 左外连接(left outer) 全外连接(full outer) 交叉链接(c ...
- left join 一对多_MYSQL 连接查询算法:JOIN语句在 MYSQL 内部到底是怎么执行的
前言 我们从一个问题引入今天的主题. 在日常业务开发中,我们可能经常听到 DBA 对我们说"不要"(注意:不是禁止)使用 join,那么为什么 DBA 对 join 这么抵触呢?是 ...
- mysql的join语句使用_在MySQL中使用JOIN语句进行连接操作的详细教程
到目前,我们已经学习了从一个表中获取数据.这是简单的需要,但在大多数现实MySQL的使用,经常需要将数据从多个表中的一个单一的查询. 可以使用多个表中的单一SQL查询.在MySQL中联接(join)行 ...
- UNION JOIN 连接表
9.4.5 UNION JOIN 连接表 使用UNION JOIN进行多表连接,与9.3节介绍的各种表的连接类型不同,它并不对表中的数据进行任何匹配处理,而只是把来自一个源表中的行与另一个源表中的行 ...
- 《MySQL——join语句优化tips》
目录 要不要用join Join驱动表选择 Multi-Range Read优化 Batched Key Access (BKA)对NLJ进行优化 BNL算法性能问题 BNL转BKA 要不要用join ...
- SQLite | Join 语句
文章目录 1. Join 1.1 表联合 1.2 内联合 1.3 左联合 1.4 其他联合类型 1.5 多表联合 1.6 分组联合 参考资料 1. Join 我们在上一篇中介绍了 Case 子句 ,接 ...
- sql join语句语法_SQL Left Join语句:示例语法
sql join语句语法 对于本指南,我们将讨论SQL LEFT JOIN. (For this guide we'll discuss the SQL LEFT JOIN.) Using the k ...
- 关于mysql中Join语句的几个问题
本文来说下关于mysql中Join语句的几个问题,JOIN语句在平时的开发中还是使用的非常多的 文章目录 概述 基本介绍 举个例子 一个注意点 Join原理 Simple Nested-Loop In ...
最新文章
- ai 临摹图片换背景_AI临摹绘制插画图片
- 请用理智的头脑和正确的途径关爱帮助灾区
- window环境中Jupyter notebook使用虚拟环境
- andriod studio 运行 无结果_无负压静音供水设备下篇一
- scrapy框架的日志等级和请求传参
- 简述人工智能的发展历程图_简述华强北airpods的发展历程
- BAT及各大互联网公司前端笔试面试题--Html,Css篇
- ec6108v9c短接j15_华为悦盒EC6108V9C变砖头,J16强刷不出现机器人,重点介绍解决问题!...
- 清除右键菜单多余的选项
- 【cvpr2022】CRIS: CLIP-Driven Referring Image Segmentation
- IOS 蓝牙相关-BabyBluetooth蓝牙库介绍(4)
- 扫宽、分辨率和扫描时间
- 《北京住房公积金提取管理办法 》
- 材料分享主题一:如何向上级汇报部门/组织架构
- Kafka:合理设置分区数
- python datetime时间差_高考倒计时,聊聊Python的GUI
- .net core 中使用confluent kafka构建生产者
- IO输入输出模型是每个Java开发人员必须理解的重点,深度解析跳槽从开始到结束完整流程
- 安全日志:/var/log/secure(转载 https://www.cnblogs.com/pzk7788/p/10184740.html)
- Sweet Home 3D 6.5 中文版 (装潢室内设计软件)
热门文章
- 2017-2018 ACM-ICPC Asia East Continent League Final (ECL-Final 2017)
- 瑞信CDP容灾备份如何实现断点续传
- pfSense book之入网门户
- 《八月的棒球甜心》:棒球少女·棒球联盟
- leetcode刷题02--求链表交点--T160
- Linux命令后面加
- 怎么去掉半透明上面的字_古代银票就一张纸,为何没人造假?你看看上面那行字,怎么造假?...
- 医用计算机模型,计算机制作模型
- 程序员英语二三事(1)
- 如何使用天天模拟器调试Android程序