zoukankan      html  css  js  c++  java
  • mysql查询案例

    #一、查询每个专业的学生人数
    SELECT majorid,COUNT(*)
    FROM student
    GROUP BY majorid;
    
    #二、查询参加考试的学生中,每个学生的平均分、最高分
    SELECT AVG(score),MAX(score),studentno
    FROM result
    GROUP BY studentno;
    
    #三、查询姓张的每个学生的最低分大于60的学号、姓名
    SELECT s.studentno,s.`studentname`,MIN(score)
    FROM student s
    JOIN result r
    ON s.`studentno`=r.`studentno`
    WHERE s.`studentname` LIKE '张%'
    GROUP BY s.`studentno`
    HAVING MIN(score)>60;
    #四、查询每个专业生日在“1988-1-1”后的学生姓名、专业名称
    
    SELECT m.`majorname`,s.`studentname`
    FROM student s
    JOIN major m
    ON m.`majorid`=s.`majorid`
    WHERE DATEDIFF(borndate,'1988-1-1')>0
    GROUP BY m.`majorid`;
    
    
    #五、查询每个专业的男生人数和女生人数分别是多少
    
    SELECT COUNT(*),sex,majorid
    FROM student
    GROUP BY sex,majorid;
    #六、查询专业和张翠山一样的学生的最低分
    #①查询张翠山的专业编号
    SELECT majorid
    FROM student
    WHERE studentname = '张翠山'
    
    #②查询编号=①的所有学生编号
    SELECT studentno
    FROM student
    WHERE majorid=(
        SELECT majorid
        FROM student
        WHERE studentname = '张翠山'
    
    )
    #②查询最低分
    SELECT MIN(score)
    FROM result
    WHERE studentno IN(
    
        SELECT studentno
        FROM student
        WHERE majorid=(
            SELECT majorid
            FROM student
            WHERE studentname = '张翠山'
    
        )
    )
    
    #七、查询大于60分的学生的姓名、密码、专业名
    
    SELECT studentname,loginpwd,majorname
    FROM student s
    JOIN major m ON s.majorid=  m.majorid
    JOIN result r ON s.studentno=r.studentno
    WHERE r.score>60;
    #八、按邮箱位数分组,查询每组的学生个数
    SELECT COUNT(*),LENGTH(email)
    FROM student
    GROUP BY LENGTH(email);
    #九、查询学生名、专业名、分数
    
    SELECT studentname,score,majorname
    FROM student s
    JOIN major m ON s.majorid=  m.majorid
    LEFT JOIN result r ON s.studentno=r.studentno
    
    
    #十、查询哪个专业没有学生,分别用左连接和右连接实现
    #左
    SELECT m.`majorid`,m.`majorname`,s.`studentno`
    FROM major m
    LEFT JOIN student s ON m.`majorid` = s.`majorid`
    WHERE s.`studentno` IS NULL;
    
    #右
    SELECT m.`majorid`,m.`majorname`,s.`studentno`
    FROM student s
    RIGHT JOIN  major m ON m.`majorid` = s.`majorid`
    WHERE s.`studentno` IS NULL;
    #十一、查询没有成绩的学生人数
    
    SELECT COUNT(*)
    FROM student s
    LEFT JOIN result r ON s.`studentno` = r.`studentno`
    WHERE r.`id` IS NULL
  • 相关阅读:
    [转载]DataView详解
    (转)C#中“EQUALS”与“==”的速度比较
    CS0016: 未能写入输出文件“c:WindowsMicrosoft.NETFramework64v2.0.50727Temporary ASP.NET Files oot921bbfc4ca7cf42App_Code.fu98jwep.dll”--“拒绝访问。 ”
    C# 配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler”节
    C# 利用mysql.data 在mysql中创建数据库及数据表
    【转载】经典SQL语句大全
    我不是一个做产品人,但我有一颗做产品的心--浅谈“痛点”
    软件工程--个人总结
    第十六周进度条
    梦断代码阅读笔记3
  • 原文地址:https://www.cnblogs.com/konglxblog/p/14728291.html
Copyright © 2011-2022 走看看