mysql 带多个条件的查询方式


Posted in MySQL onJune 05, 2021

mysql 带多个条件的查询

环境:mysql 5.7

当一个where语句中同时出现多个and 或者or时,需要将多个OR用小括号括起来再和AND进行“与”,或者将多个AND用小括号括起来再与OR进行“或”

mysql 多对多条件查询

两个表 user和role 中间表是user_role

mysql 带多个条件的查询方式

查询用户和角色的对应关系

select res.user_name,r.role_name from(select u.user_name,ur.role_id from user as u INNER JOIN user_role as ur where u.user_id=ur.user_id) as res 
INNER JOIN role as r where res.role_id=r.role_id;

mysql 查询同一字段中同时满足多个条件

mysql 带多个条件的查询方式

mysql 带多个条件的查询方式

分析:

1,先查询出01号同学学习的课程

SELECT C FROM sc WHERE S='01'

mysql 带多个条件的查询方式

2,查询学习该相关课程的同学编号

SELECT S FROM sc WHERE C in 
(SELECT C FROM sc WHERE S='01')

mysql 带多个条件的查询方式

可以看到,我们分别查询了3次,所以出现多个结果,因为是or关系,所以每个选择了1、2、3课程的同学都全部取出,

3,现在需要将出现次数为3的编号取出

SELECT S FROM sc WHERE C in 
(SELECT C FROM sc WHERE S='01') 
GROUP BY S HAVING COUNT(S) =3

mysql 带多个条件的查询方式

看到编号为1、2、3、4的同学选了与01号同学一致的课程

4,与student表进行连表查询,取出相关信息

SELECT a.* FROM
student a LEFT JOIN sc b
ON a.S = b.S WHERE b.S in (
SELECT S FROM sc WHERE C in 
(SELECT C FROM sc WHERE S='01') 
GROUP BY S HAVING COUNT(S) =3)
GROUP BY a.S

mysql 带多个条件的查询方式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

MySQL 相关文章推荐
Mysql 如何批量插入数据
Apr 06 MySQL
MySQL触发器的使用
May 24 MySQL
MySQL 查询速度慢的原因
May 25 MySQL
带你学习MySQL执行计划
May 31 MySQL
SQL注入的实现以及防范示例详解
Jun 02 MySQL
详解MySQL多版本并发控制机制(MVCC)源码
Jun 23 MySQL
MySQL的Query Cache图文详解
Jul 01 MySQL
ORM模型框架操作mysql数据库的方法
Jul 25 MySQL
MySQL Innodb索引机制详细介绍
Nov 23 MySQL
Mysql中有关Datetime和Timestamp的使用总结
Dec 06 MySQL
MySQL 开窗函数
Feb 15 MySQL
MySQL如何使备份得数据保持一致
May 02 MySQL
Mysql 如何实现多张无关联表查询数据并分页
Jun 05 #MySQL
Mysql中存储引擎的区别及比较
浅谈mysql返回Boolean类型的几种情况
Jun 04 #MySQL
Mysql 设置boolean类型的操作
Jun 04 #MySQL
MySQL中的布尔值,怎么存储false或true
mysql外连接与内连接查询的不同之处
Mysql systemctl start mysqld报错的问题解决
Jun 03 #MySQL
You might like
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
拥抱模块化的JavaScript
2012/03/07 Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
2013/01/15 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
python快速查找算法应用实例
2014/09/26 Python
python字符串替换的2种方法
2014/11/30 Python
python使用tornado实现简单爬虫
2018/07/28 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
python压包的概念及实例详解
2021/02/17 Python
html5 canvas绘制网络字体的常用方法
2019/08/26 HTML / CSS
Amaze UI 文件选择域的示例代码
2020/08/26 HTML / CSS
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
夜班门卫岗位职责
2013/12/09 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
活动费用申请报告
2015/05/15 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python
Python中time标准库的使用教程
2022/04/13 Python
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers