mysql 多表查询 join on_mysql多表查询

在做连表查询的时候,可以在联合的字段上面,分别加上索引字段,这样有加快搜索的速度

左右连表查询时条件放在on后面和where后面的执行时机是不一样的

例如

test1表

fca90ca1e9acf5245dd5155c456dae2a.png

test2表

8e24050f06e30b7c90c9d7bba0b9706d.png

执行

SELECT * FROM test1 t1 LEFT JOIN test2 t2

ON t1.no=t2.no AND t2.name='aaa';

结果为

1da47db3ef5005c5e07cc71ead246b7c.png

SELECT * FROM test1 t1 LEFT JOIN test2 t2

ON t1.no=t2.no WHERE t2.name='aaa';

d50252f00594f4342b0f9af695ac4d60.png

从这两个查询的结果集可以看出来,on的条件是优先于where的,第一个查询是首先将t2表满足条件的筛选出来,然后用t1表左连过去,将t1表全部映射到t2上面,第二个查询是,首先t1表和t2进行左连查询后,在将满足的条件筛选出来

扩展一下

SELECT * FROM test1 t1 LEFT JOIN test2 t2

ON t1.no=t2.no AND t1.name='zhou';

4f17fcfdeae4ca54e7743ca71d03d302.png

这个时候就会发现,首先筛选出t1中name=zhou的信息,然后将整个t1表左连到t2,只不过将zhou的信息优先放在第一条

右连效果同样

SELECT * FROM test1 t1 RIGHT JOIN test2 t2

ON t1.no=t2.no AND t1.name='zhou';

6737ca47cb62ed800bbe9b41d72146aa.png

SELECT * FROM test1 t1 RIGHT JOIN test2 t2

ON t1.no=t2.no AND t2.name='bbb';

746c9e6ffae6e6b44ad11d8217b6e96b.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 多模块模块变灰色_到底谁需要Java模块?

java 多模块模块变灰色拼图问题为1000。我作为X想要JPMS模块。 如果不是平台开发人员,X是什么? 我的回答是X是人(减去平台开发人员,因为那是一个条件) 。 我们都需要模块系统具有更安全的代码,从而产生更可…

python如何保持数据类型不变_python 可变和不可变数据类型、格式化输出和基础运算符...

一、可变类型和不可变类型#可变类型:在id不变的情况下,value可以变,则称为可变类型,如:列表,字典#不可变类型:value一旦改变,id也改变,则称为不可变类型(id变&#xff0c…

MacBook Air的命令终端如何在root和普通用户之间切换

有时你需要在一些root级别的目录下创建和删除文件,如果你没有切换到root用户下,系统会提示你没有权限,如下所示: liaowenxiongdeMacBook-Air:local liaowenxiong$ mkdir test mkdir: test: Permission denied liaowenxiongdeMacB…

mysql导入数据显示进度条_导入数据思路+进度条

/// ///基础数据导入/// private voidLoadBasicData(){this.NowCount 0;this.AllCount 0;this.hasResult false;try{DelegateShowProssBar mi newDelegateShowProssBar(ShowProcessBar);this.BeginInvoke(mi, new object[] { "导入基础数据", "导入数据"…

redis key失效的事件_《分享几道高频 Redis 高频面试题,面试不用愁》

1、说说 Redis 都有哪些应用场景?缓存:这应该是 Redis 最主要的功能了,也是大型网站必备机制,合理地使用缓存不仅可以加 快数据的访问速度,而且能够有效地降低后端数据源的压力。共享Session:对于一些依赖 …

mysql按加号没反应_请各位大哥给小老弟解疑答惑一下 为什么点击加号没有反应?感谢...

事件function count(){var sum;//获取第一个输入框的值var aparseFloat(document.getElementById("txt1").value);//获取第二个输入框的值var bparseFloat(document.getElementById("txt2").value);//获取选择框的值var cdocument.getElementById("se…

解决文件内容的中文乱码_字符集_字符编码_字符编码方案

从第三方下载的java源文件,打开查看里面的中文全部是乱码,无论你使用什么字符编码集都无法正常显示,该文件是用UTF-8编码存档的,使用UTF-8解码也同样是乱码,相信很多人遇到类似的问题,我这里解决过一个经典…

安卓清理垃圾清理代码_从战中清理代码

安卓清理垃圾清理代码从战中清除代码–验证 让我们直接从一个例子开始。 考虑一个简单的Web服务,该服务允许客户向商店下订单。 订单控制器的非常简化的版本可能如下所示– RestController RequestMapping(value "/",consumes MediaType.APPLICATION_J…

rust为什么显示不了国服_捋捋 Rust 中的 impl Trait 和 dyn Trait

缘起一切都要从年末换工作碰上特殊时期, 在家闲着无聊又读了几首诗, 突然想写一个可以浏览和背诵诗词的 TUI 程序说起. 我选择了 Cursive 这个 Rust TUI 库. 在实现时有这么一个函数, 它会根据参数的不同返回某个组件(如 Button, TextView 等). 在 Cursive 中, 每个组件都实现了…

Sublime Text for Mac的快捷键

文章目录选择文本移动光标编辑文本查找/替换窗口显示书签和标记其它选择文本 快捷键说明CommandD先选中文本,再按CommandD,会选中下一个相同的文本,再继续按D(Command不放)则会选中下一个相同的文本,可以同时编辑被选中的文本Con…

zip unzip_zip和unzip上的Java要点

zip unzip压缩是编写文件时可以在我们的代码中发出的主要动作之一。 因此,我发现在zip和unzip上必不可少的简单Java代码段,并且必须易于访问。 要点是纯Java语言,并以zip格式存储两个文件。 完成后,打开打开的拉链并评估其内容。…

mysql不支持子查询_MySQL不支持子查询优化一例

一创建表 create table tt1(id int primary key, c1 INT);create table tt2(id int primary key, c2 INT);insert into tt1 value一创建表create table tt1(id int primary key, c1 INT);create table tt2(id int primary key, c2 INT);insert into tt1 values(1,1),(2,2),(3,3…

nginx配合python_人生苦短我用python[0x02] nginx与python结合

原标题:人生苦短我用python[0x02] nginx与python结合**文章内容为原创,欢迎转载请注明出处**背景nginx是一款高性能的http服务器,python是一门无论做系统开发还是业务逻辑开发都是非常不错的动态语言,现在流行微服务,微…

Linux 文件颜色含义

目录文件:蓝色 一般文件:白色 符号链接:紫色 设备文件:黄色 可执行文件:绿色 链接文件:青色 图片文件:粉红色 压缩文件:红色 其它文件:灰色 链接文件&#xff1…

Mysql索引使用情况_介绍mysql索引失效的情况

mysql视频教程栏目索引失效的情况。索引对于MySQL而言,是非常重要的篇章。索引知识点也巨多,要想掌握透彻,需要逐个知识点一一击破,今天来先来聊聊哪些情况下会导致索引失效。图片总结版相关免费学习推荐:mysql视频教程…

java8根据某个id删选_Java 8可选

java8根据某个id删选在编程时,我们都面临着(最) 臭名昭著的NullPointerException 。 而且我相信我们所有人都同意,遇到NullPointerException也是一种痛苦。 为了使读者了解最新情况,著名的计算机科学家Tony Hoare引入了…

emacs python ide_Emacs Python IDE win7 x64

安装平台 win7 x64 ,emacs 23.3.1snippet工具,可自定义一些模板:.emacs 配置如下(add-to-list load-path "~/.emacs.d/yasnippet")(require yasnippet) ;; not yasnippet-bundle(yas/global-mode 1)自动完成工具,其实只…

解决阿里云 ssh 远程连接短时间没操作就会断掉的问题

在本地主机(例如:你自己的 MacBook)中打开 sshd 的配置文件,命令语句如下: sudo vim /etc/ssh/sshd_config注意:使用用户 root 编辑配置文件,否则会报错。 找到下面这个两行(/Clie…

oracle查看jdk文档_Oracle JDK 9 Early Access文档已更新

oracle查看jdk文档Raymond Gallardo于2017年4月4日发布的针对Oracle JDK 9的抢先 访问文档已更新,今天宣布对Oracle JDK9文档的抢先访问页面进行了更新。 Gallardo重点介绍了一些更新的部分,包括Oracle JDK 9的新增功能 , Oracle JDK 9迁移指…

python3 selenium_Python3+Selenium3自动化测试-(准备)

Python3Selenium3自动化测试-(准备)最近在学习selenium自动化测试相关的内容,所以将实际准备情况做一记录,# 系统:win10(64位)# 浏览器:Chrome(67.0)、Firefox(61.0)、IE# python版本:3.6.5# Selenium:3.13…