服务器之家

服务器之家 > 正文

mysql 带多个条件的查询方式

时间:2021-08-12 20:12     来源/作者:遇见一只小脑斧

mysql 带多个条件的查询

环境:mysql 5.7

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

mysql 多对多条件查询

两个表 user和role 中间表是user_role

mysql 带多个条件的查询方式

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

  1. 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
  2. INNER JOIN role as r where res.role_id=r.role_id;

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

mysql 带多个条件的查询方式

mysql 带多个条件的查询方式

分析:

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

  1. SELECT C FROM sc WHERE S='01'

mysql 带多个条件的查询方式

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

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

mysql 带多个条件的查询方式

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

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

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

mysql 带多个条件的查询方式

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

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

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

mysql 带多个条件的查询方式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

原文链接:https://blog.csdn.net/qq_28078033/article/details/88782147

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部