本篇文章没有实际案例,只说明用法,主要说一下in和exists的使用区别。
在开始前,分享给大家我看过觉得讲数据库讲的算是很不错的,也在B站拥有百万播放量的教程。
这个MySQL视频是动力节点的老杜讲解,个人也很喜欢老杜的教学风格,老杜真的是从MySQL基础一点点带我入门,基础也学得很扎实。
这个教程总体来说就就像列文虎克教学,细到极致,妙到毫巅。
内容涵盖了MySQL的相关知识,包括MySQL概述,MySQL应用环境,MySQL系统特性,MySQL初学基础,MySQL管理工具,如何安装MySQL及MySQL新特性等等。
学完这套视频基本可掌握MySQL全套知识了,值得收藏学习,需要的小伙伴点击以下链接👇
在线观看:
MySQL基础入门-mysql教程-数据库实战(MySQL基础+MySQL高级+MySQL优化+MySQL34道作业题)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
资料下载:
MySQL视频教程全套免费下载【适合零基础入门学习】 - 动力节点 (bjpowernode.com)
首先我们先来看俩张表
- book
- class
这个时候我们使用in来进行一次查询 bookid存在class表的数据
1 select * from book b where bookid in (select id from class);
然后使用exists来进行一次查询 bookid存在class表的数据
1 select * from book b where exists (select 1 from class where b.bookid=id );
会发现俩次的数据是一致的,所以下来我们来说一下,在那些情况用in 那些情况用exists
使用场景
- 当book表的数据集小于class的数据集时 用in 优于exists
- 当class表的数据集小于book的数据集时 用exists 优于in
1 select * from book b where bookid in (select id from class);2 它的运行方式是这样的,类似于俩个for循环3 for select * from class4 for select * from book where book.id=class.id5 6 select * from book b where exists (select 1 from class where b.bookid=id );7 exists的运行方式如下8 for select * from book9 for select * from class where class.id=book.id
以上俩个案例简单来说 :
- 如果查询的两个表大小相当,那么用in和exists差别不大。
- 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:
————————————————
原文链接:https://blog.csdn.net/fangkang7/article/details/105364936
原文转载:http://www.shaoqun.com/a/764915.html
55海淘网:https://www.ikjzd.com/w/1723
feedly:https://www.ikjzd.com/w/754
本篇文章没有实际案例,只说明用法,主要说一下in和exists的使用区别。在开始前,分享给大家我看过觉得讲数据库讲的算是很不错的,也在B站拥有百万播放量的教程。这个MySQL视频是动力节点的老杜讲解,个人也很喜欢老杜的教学风格,老杜真的是从MySQL基础一点点带我入门,基础也学得很扎实。这个教程总体来说就就像列文虎克教学,细到极致,妙到毫巅。内容涵盖了MySQL的相关知识,包括MySQL概述,My
刘小东:https://www.ikjzd.com/w/1853
声网agora:https://www.ikjzd.com/w/2176
tineye:https://www.ikjzd.com/w/448
必收藏-亚马逊9大站点topreviewer邮箱 大全:https://www.ikjzd.com/tl/2470
直接上手!亚马逊派来7大成功策略辅佐你,广告也太好做了吧!:https://www.ikjzd.com/articles/8223
亚马逊卖家必修课!如何设置子账号?:https://www.ikjzd.com/articles/114836
没有评论:
发表评论