mysql join 替代办法_mysql-如何使用JOIN代替子查询(NOT IN)
我想列出$_SESSION [‘userid’]跟随但不跟随的所有人员
以下查询适用于以下演员,它可以正常工作
IN(慢)
SELECT user.* FROM user
WHERE user.userid
IN (SELECT follow.followtoid FROM follow
WHERE follow.followerid = $_SESSION['userid'])
加入(快速)
SELECT p.*
FROM user p
JOIN follow f ON p.userid = f.followtoid
WHERE f.followerid = $_SESSION['userid']
对于那些仍不遵循演员表的人,它可以工作,但是看起来很慢
请建议我如何使用JOIN而不是NOT IN
不在(慢)
SELECT user.* FROM user
WHERE user.userid
NOT IN (SELECT follow.followtoid FROM follow
WHERE follow.followerid = $_SESSION['userid'])
解决方法:
您可以使用LEFT JOIN并消除所有具有匹配项的行;
SELECT p.*
FROM user p
LEFT JOIN follow f
ON p.userid = f.followtoid
AND f.followerid = $_SESSION['userid']
WHERE f.followtoid IS NULL
标签:query-performance,join,select,sql,mysql
来源: https://codeday.me/bug/20191029/1959873.html
mysql join 替代办法_mysql-如何使用JOIN代替子查询(NOT IN)相关推荐
- mysql group by 无效_Mysql5.7版本group by 子查询中order by 无效的问题解决办法
我们都知道group by 会选择保留第一条数据,默认是按照id排序的,如果我们想通过别的字段排序,比如最后创建的那条记录,可以先按照创建时间降序,再group by即可得到每个分组的最新创建的数据. ...
- mysql inner join多条件_Mysql中Left Join Right Join Inner Join where条件的比较
建立一对多的表 company 和 employee company表 id name address 1baidu北京 2huawei深圳 3jingdong北京 4tengxu ...
- mysql like 替代算法_mysql – 什么是替代连接查询
表:项目 +---+-----------+ |id | name | +---+-----------+ | 1 | Product-A | | 2 | Product-B | +---+----- ...
- mysql子查询查询子字段_MySQL知识整理7.4—子查询
数据科学探路者:MySQL知识整理7.3-连接查询zhuanlan.zhihu.com 四.子查询 什么是子查询? 当一个查询是另一个查询的条件时,称之为子查询.子查询可以使用几个简单命令构造功能强 ...
- mysql 连边聚合_MySQL分组,聚合函数,连表查询,子查询
>>>分组: group by + group_concat 分组:类似于将一个班级的学生,按照性别或其他条件,分成若干个组,最终以小组为单位显示,如上图中,以post字段对表进行分 ...
- MySQL第九章索引_MySQL高级(索引优化+慢查询定位)
一.先谈谈事务 1. ACID特性 1.1 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用: 1.2 一致性: 执行事务前后,数据库从一个一致性状态转换 ...
- mysql exists依赖查询_MySQL EXISTS 和 NOT EXISTS 子查询
MySQL EXISTS 和 NOT EXISTS 子查询语法如下: 1 SELECT ... FROM table WHERE EXISTS (subquery) 该语法可以理解为:将主查询的数据, ...
- mysql 更新子表_mysql 在update中实现子查询的方式
当使用mysql条件更新时--最先让人想到的写法 UPDATE buyer SET is_seller=1 WHERE uid IN (SELECT uid FROM seller) 此语句是错误的, ...
- mysql left join第一个_MySQL 之 LEFT JOIN 避坑指南
现象 left join在我们使用mysql查询的过程中可谓非常常见,比如博客里一篇文章有多少条评论.商城里一个货物有多少评论.一条评论有多少个赞等等.但是由于对join.on.where等关键字的不 ...
最新文章
- Java虚拟机的静态常量池和运行时常量池
- MapReduce关系代数运算
- rz安装 xshell_利用XShell上传、下载文件(使用sz与rz命令)
- 基于多域连接卷积神经网络的精神分裂症脑功能网络分类
- bzoj3715 [PA2014]Lustra
- RabbitMQ direct交换机
- 反射(类的加载概述和加载时机)
- Android代码数字证书,有关Android中读取证书
- 重力加速度换算_中考物理重难点汇总——公式换算大全
- 涉及子模块_COMSOL Multiphysics 5.6 RF模块更新详解
- c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序.doc
- 祖国60岁生日,我在北京度过。
- Scherlokk for Mac(文件搜索软件)
- 合成器插件Sylenth1 2.2.1绿化版亲测有效
- 五种主流的虚拟化技术
- 课题申报书范文_课题优秀申报书 课题申报书范例
- 信息学奥赛一本通C++语言——1129:统计数字字符个数
- 计算机电子表格题教程,计算机电子表格题教程.doc
- 班级量化考核系统php代码,班级管理量化考核及评分细则
- Window10设置图标名、文件名的字体大小方法