zoukankan      html  css  js  c++  java
  • 数据库查询语句(note4)

    第五周(数据库查询语句)

    学习内容

    知识点:
    1.select子句
    2.from子句
    3.where子句
    包括分组查询:
    分组:group by子句、
    分组条件:having子句、
    排序:order  by子句、
    输出行限制:limit子句、
    联合查询:union子句、
    行浏览查询:handler语句
    

    练习题

    #1. 在xscj数据库产生一个结果是集,包括每门课程各专业的平均成绩、每门课程的总平均成绩和所有课程的总平均成绩
    #字段
    SELECT 课程名,专业名,AVG(成绩) as '平均成绩'
    #关系表
    FROM xs,kc,xs_kc
    #建立表之间的联系
    where xs_kc.`课程号`=kc.`课程号` and xs_kc.`学号`=xs.`学号`
    GROUP BY 课程名,专业名
    WITH ROLLUP;
    
    #2. 查询平均成绩在85分以上的学生的学号和平均成绩
    select 学号,AVG(成绩) as 平均成绩
    from xs_kc
    GROUP BY 学号
    HAVING 平均成绩>85;
        
        
    #3. 查询选修课程超过2门且成绩都在80分以上的学生的学号
    SELECT 学号 FROM xs_kc WHERE 成绩>=80 GROUP BY 学号 HAVING COUNT(*)>2;
    
    #4. 查找通信工程专业平均成绩在85分以上的学生的学号和平均成绩
    SELECT 学号,AVG(成绩) as '平均成绩'
    FROM xs_kc
    WHERE 学号 IN(SELECT 学号 FROM xs WHERE 专业名='通信工程')
    GROUP BY 学号
    HAVING AVG(成绩)>=85;
    
    
    #5. 将通信工程专业的学生按照出生日期先后排序
    SELECT 学号,姓名,专业名,出生日期
    FROM xs
    WHERE 专业名='通信工程'
    ORDER BY 出生日期;#(或者 ORDER BY 4;)
    
    
    
    
    #6. 将计算机专业学生的计算机基础课程成绩按降序排列
    SELECT 姓名,课程名,成绩
    FROM xs,xs_kc,kc
    WHERE xs.`学号`=xs_kc.`学号` AND xs_kc.`课程号`=kc.`课程号` AND 课程名='计算机基础' 
    AND 专业名='计算机'
    GROUP BY 成绩 DESC;
    
    #7. 将计算机专业学生按其平均成绩排列
    SELECT 学号,姓名,专业名
    FROM xs 
    WHERE 专业名='计算机' 
    ORDER BY (SELECT AVG(成绩) 
    					FROM xs_kc 
    					GROUP BY xs_kc.`学号` 
    					HAVING xs.`学号`=xs_kc.`学号`);
    
    #8. 查找xs表中学号最靠前的5位学生的信息
    SELECT 学号,姓名,专业名,性别,出生日期,总学分
    FROM xs
    ORDER BY 学号
    LIMIT 5;
    
    
    
    #9. 查找xs表中从第4位同学开始的5位学生的信息
    
    SELECT 学号,姓名,专业名,性别,出生日期,总学分
    FROM xs
    ORDER BY 学号
    LIMIT 3,5;
    
    # 10.查找学号为081101和学号081210的两位学生的信息
    SELECT 学号,姓名,专业名,性别,出生日期,总学分
    FROM xs
    WHERE 学号='081101'
    UNION
    SELECT 学号,姓名,专业名,性别,出生日期,总学分
    FROM xs
    WHERE 学号='081210';
    
  • 相关阅读:
    Intellij Idea开发工具在@Autowired或者@Resource注入XxxMapper接口时报如下错误Could not autowire. No beans of 'TbItemMapper' type found
    java.lang.IllegalStateException: getOutputStream() has already been called for this response解决方案
    Javaweb项目配置到阿里云服务器
    VMware15.5.0安装MacOS10.15.0系统 安装步骤(上)
    单元测试 springboot-test
    虚拟机字节码指令表
    tomcat服务器源码解读02-基本原理
    tomcat服务器源码解读01-整体结构
    Elasticsearch kibana官方基础本地实践
    虚拟机部署单机版kubernetes,minikube,docker
  • 原文地址:https://www.cnblogs.com/Jamdu0406/p/12752779.html
Copyright © 2011-2022 走看看