• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mysql 带多个条件的查询方式

    mysql 带多个条件的查询

    环境:mysql 5.7

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

    mysql 多对多条件查询

    两个表 user和role 中间表是user_role

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

    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 查询同一字段中同时满足多个条件

    分析:

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

    SELECT C FROM sc WHERE S='01'

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

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

    可以看到,我们分别查询了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

    看到编号为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查询条件not in 和 in的区别及原因说明
    • MySQL全面瓦解之查询的过滤条件详解
    • mysql条件查询and or使用方法及优先级实例分析
    • 详解Mysql查询条件中字符串尾部有空格也能匹配上的问题
    • MySQL查询条件常见用法详解
    • MySQL查询条件中in会用到索引吗
    上一篇:Mysql 如何实现多张无关联表查询数据并分页
    下一篇:MySQL库表名大小写的选择
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    mysql 带多个条件的查询方式 mysql,带,多个,条件,的,查询,