zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    循环逗号分割数组!
    只是想好好学习一下!
    html元素水平垂直居中
    闭包知识点--笔记
    20160314
    从零开始做运维-零
    Nginx 和 CodeIgniter
    安装PIL库
    init
    NutUI3 多端实践之路
  • 原文地址:https://www.cnblogs.com/jescs/p/12164782.html
Copyright © 2011-2022 走看看