mysql的连表查询_MySQL_连表查询
连表查询
连表查询通常分为内连接和外连接。内连接就是使用INNER JOIN进行连表查询;而外连接又分为三种连接方式,分别是左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)。下来我们一起来看一下这几种连接方式的区别及基础用法。
内连接
INNER JOIN
INNER JOIN将只会返回相匹配的元素项,即不会返回结果为NULL的数据项。如下图所示:
INNER JOIN查询的两张表(A、B)的共有的部分,查询结果为null的记录不会出现。
外连接
关键字OUTER是可选择的,取决于具体语言,在实现上它们都是遵循标准的
LEFT JOIN
关键字从左表(A)返回所有的行,即使右表(B)中没有匹配。如果右表中没有匹配,则结果为NULL。
简单来说就是不管右表(B)有没有匹配到,都会完全输出左表(A)的所有记录,只是当右表的内容没有匹配到时,则将右表对应的字段的内容设置为NULL。
当然,对查询的SQL语句稍加改动就可以实现只查询A表中存在的记录。比如说添加一个右表的key为NULL的筛选条件。
RIGHT JOIN
关键字从右表(B)返回所有的行,即使左表(A)中没有匹配。如果左表(A)中没有匹配,则结果为 NULL。
如左连接类似,不管左表(A)有没有匹配到结果,都完全显示右表(B)的所有记录,将左表(A)没有匹配到的字段值设为NULL。
当然,也可以进行简单的筛选得到只有右表(B)存在的记录,设置左表中的key是NULL。
FULL JOIN
关键字只要左表(A)和右表(B)其中一个表中存在匹配,则返回行。FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。
简单来说就是只要两张表(A、B)中任意一张表中存在匹配,则返回记录,当然也可以简单的筛选得到两表中单独存在的记录。比例a.key is null or b.key is null。
mysql的连表查询_MySQL_连表查询相关推荐
- mysql 快捷查询数据库各表占用空间,mysql查看索引占用空间,mysql查看数据占用空间
先贴一张图! 第一步,"很重要" 在mysql中,有一个创建之初自带的库information_schema,这个库中包含着数据库相关信息,查询数据占用空间就是使用该库,所以首先进 ...
- 使用python对学生表的查询_多表组合查询——Python操作Mysql数据库
前面我们介绍了单张表的查询,包括模糊查询.分组.排序.各种筛选条件等等操作,在实际应用中,查询的数据往往不止局限在一张表里,通常需要多张表在一起进行组合查询,今天我们将会对Mysql当中的多张有关联的 ...
- 100G内存下,MySQL查询200G大表会OOM么?
文章来源:https://sourl.cn/vwDNzn 我的主机内存只有100G,现在要全表扫描一个200G大表,会不会把DB主机的内存用光? 逻辑备份时,可不就是做整库扫描吗?若这样就会把内存吃光 ...
- desc mysql 连表查询_Mysql连表查询
mysql的连接 语法: select 查询列表 rom 表1 别名 连接类型 join 表2 别名 on连接条件 where 筛选条件 group by 分组 having 筛选条件 order b ...
- golang mysql多表查询_MySQL多表查询
一 多表连接查询 #重点:外链接语法 SELECT 字段列表 FROM 表1 INNER|LEFT|RIGHT JOIN 表2 ON 表1.字段= 表2.字段; #建表 create table de ...
- mysql数据库优化课程---16、mysql慢查询和优化表空间
mysql数据库优化课程---16.mysql慢查询和优化表空间 一.总结 一句话总结: a.慢查询的话找到存储慢查询的那个日志文件 b.优化表空间的话可以用optimize table sales; ...
- Linux命令:MySQL系列之五--SELECT单表查询、多表查询升级及删除,插入
SELECT:查询 SELECT select-list FROM tb WHERE qualification 根据标准qualification查找对应的行 查询语句类型: qualifica ...
- mysql 多表查询or_MySQL 多表查询
前期准备 #建表 create table dep( id int, name varchar(20) ); create table emp( id int primary key auto_inc ...
- mysql union all 别名_MySQL Union合并查询数据及表别名、字段别名用法分析
本文实例讲述了MySQL Union合并查询数据及表别名.字段别名用法.分享给大家供大家参考,具体如下: union关键字 SELECT s_id, f_name, f_price FROM frui ...
最新文章
- R语言ggplot2可视化facet间隔设置语法实战
- 柏堰工业园有做机器人的吗_合肥柏堰科技园推进机器人应用 促产业转型升级...
- linux -- chcp
- html 最初级学习笔记一
- 使用Spring Integration聚合异步结果
- 升降摄像头设计!realme X今日亮相:现已在多平台开启预约
- Dropping Balls UVA - 679(二叉树的遍历)
- --从输入URL到页面展示的详细过程
- python执行过程_Python threading模块condition原理及运行流程详解
- project项目导入java路径_Eclipse项目怎么导入IDEA并运行(超详细)
- nodejs 查看下载文件路径_Python + selenium + Chrome 模拟登陆QQ邮箱,批量下载附件,本地重命名
- 谷歌的现实、摩托的无奈与联想的接盘
- wordpress原生html5播放器,让WordPress自带html5播放器-视频播放器调用代码详解,支持ios...
- 初探RabbitMQ与简单实现
- 只是为了好玩:linux之父林纳斯自传.pdf,读后感:《只是为了好玩:Linux之父林纳斯自传》...
- 数据中心编码命名标志标签的建议规范
- dirac 是什么?
- java-对文件内容进行排序
- 页游战龙三国+搭建GM后台
- 微信小程序从零开始开发步骤