mysql 带多个条件的查询方式

 更新时间:2021年06月04日 11:14:01   作者:遇见一只小脑斧  
这篇文章主要介绍了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错误ERROR 2002 (HY000): Can''t connect to local MySQL server through socket

    MySQL错误ERROR 2002 (HY000): Can''t connect to local MySQL ser

    这篇文章主要介绍了MySQL错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket,需要的朋友可以参考下
    2014-10-10
  • MySQL中的ORDER BY问题

    MySQL中的ORDER BY问题

    这篇文章主要介绍了MySQL中的ORDER BY问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Window10下安装 mysql5.7图文教程(解压版)

    Window10下安装 mysql5.7图文教程(解压版)

    这篇文章主要介绍了Window10下安装 mysql5.7图文教程(解压版),本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友可以参考下
    2016-08-08
  • MySQL如何查看数据库连接数

    MySQL如何查看数据库连接数

    本文介绍了在MySQL中查看数据库连接数的多种方法,包括使用SHOWSTATUS命令、查询information_schema数据库、使用SHOWPROCESSLIST命令、查看最大连接数以及使用性能模式,每个方法都有详细的示例和注意事项,帮助你有效地监控和管理数据库连接
    2024-11-11
  • mysql5.7.25使用全文检索功能的实例教程

    mysql5.7.25使用全文检索功能的实例教程

    其实全文检索在MySQL里面很早就支持了,下面这篇文章主要给大家介绍了关于mysql5.7.25使用全文检索功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • MySQL绿色版(zip解压版)的安装图文教程(mysql-5.6.22-win32.zip)

    MySQL绿色版(zip解压版)的安装图文教程(mysql-5.6.22-win32.zip)

    由于工作需要最近要开始研究MySQL了(看来学习都是逼出来的),本人对mysql没有研究,可以说一个小白。 下面就从安装开始吧,虽然网上关于这方面的东西很多,还是需要自己把操作过程写下来
    2016-06-06
  • 解决MySQL客户端输出窗口显示中文乱码问题的办法

    解决MySQL客户端输出窗口显示中文乱码问题的办法

    这篇文章主要介绍了解决MySQL客户端输出窗口显示中文乱码问题的办法,需要的朋友可以参考下
    2015-12-12
  • Mysql 实现向上递归查找父节点并返回树结构的示例代码

    Mysql 实现向上递归查找父节点并返回树结构的示例代码

    通过mysql 8.0以下版本实现,一个人多角色id,一个角色对应某个节点menu_id,根节点的父节点存储为NULL, 向上递归查找父节点并返回树结构,今天通过本文给大家介绍Mysql递归查找父节点并返回树结构,感兴趣的朋友一起看看吧
    2022-09-09
  • MySQL中表的几种连接方式

    MySQL中表的几种连接方式

    这篇文章主要给大家介绍了关于MySQL中表的几种连接方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • MySQL字符集乱码及解决方案分享

    MySQL字符集乱码及解决方案分享

    这篇文章主要给大家介绍了关于MySQL字符集乱码及解决方案的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04

最新评论