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 MVCC机制原理详解
Apr 20 MySQL
详解MySQL事务的隔离级别与MVCC
Apr 22 MySQL
MySQL中VARCHAR与CHAR格式数据的区别
May 26 MySQL
解析MySQL binlog
Jun 11 MySQL
为什么代码规范要求SQL语句不要过多的join
Jun 23 MySQL
mysql如何配置白名单访问
Jun 30 MySQL
解决Mysql多行子查询的使用及空值问题
Jan 22 MySQL
一文弄懂MySQL中redo log与binlog的区别
Feb 15 MySQL
MySQL三种方式实现递归查询
Apr 18 MySQL
MySQL视图概念以及相关应用
Apr 19 MySQL
Mysql查询时间区间日期列表,不会由于数据表数据影响
Apr 19 MySQL
MySQL慢查询中的commit慢和binlog中慢事务的区别
Jun 16 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
php设计模式 Singleton(单例模式)
2011/06/26 PHP
php实现memcache缓存示例讲解
2013/12/04 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
jQuery代码优化之基本事件
2011/11/01 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
jquery选择器之属性过滤选择器详解
2014/01/27 Javascript
JavaScript实现同步于本地时间的动态时间显示方法
2015/02/02 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
JavaScript仿静态分页实现方法
2015/08/04 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
[02:38]DOTA2英雄基础教程 噬魂鬼
2014/01/03 DOTA
用Python的urllib库提交WEB表单
2009/02/24 Python
使用pdb模块调试Python程序实例
2015/06/02 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
Python内存读写操作示例
2018/07/18 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
详解Django-channels 实现WebSocket实例
2019/08/22 Python
用Python写一个自动木马程序
2019/09/17 Python
python求质数列表的例子
2019/11/24 Python
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
个性婚礼策划方案
2014/05/17 职场文书
助残日活动总结
2014/08/27 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
中国梦宣传标语口号
2015/12/26 职场文书
您对思维方式了解多少?
2019/12/09 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis