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 07 MySQL
Mysql 用户权限管理实现
May 25 MySQL
Mysql数据库值的添加、修改、删除及清空操作实例
Jun 20 MySQL
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
Jun 26 MySQL
使用ORM新增数据在Mysql中的操作步骤
Jul 26 MySQL
MySQL子查询中order by不生效问题的解决方法
Aug 02 MySQL
MySQL去除重叠时间求时间差和的实现
Aug 23 MySQL
SQL 聚合、分组和排序
Nov 11 MySQL
MySQL中varchar和char类型的区别
Nov 17 MySQL
Arthas排查Kubernetes中应用频繁挂掉重启异常
Feb 28 MySQL
Mysql 如何合理地统计一个数据库里的所有表的数据量
Apr 18 MySQL
MYSQL如何查看操作日志详解
May 30 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
Phpbean路由转发的php代码
2008/01/10 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
详解php协程知识点
2018/09/21 PHP
js 单引号 传递方法
2009/06/22 Javascript
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
为指定元素增加样式的js代码
2009/12/09 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
JQuery中的html()、text()、val()区别示例介绍
2014/09/01 Javascript
javascript对象的创建和访问
2016/03/08 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
2018/08/31 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
vue forEach循环数组拿到自己想要的数据方法
2018/09/21 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
python判断字符串是否纯数字的方法
2014/11/19 Python
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
python交易记录整合交易类详解
2019/07/03 Python
pandas 层次化索引的实现方法
2019/07/06 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
如何基于Python制作有道翻译小工具
2019/12/16 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
MIS软件工程师的面试题
2016/04/22 面试题
软件设计的目标是什么
2016/12/04 面试题
小学教师自我鉴定
2013/11/07 职场文书
小学数学教师研修日志
2015/11/13 职场文书