数据库建表脚本和使用的数据请参考:http://www.cnblogs.com/zhtzyh2012/p/5235826.html

  sql50题练习参看:http://blog.sina.com.cn/s/blog_6d1d0bf80100zm8l.html

  -- 创建教学系统的数据库,表,以及数据
  -- student(sno,sname,sage,ssex) 学生表
  -- course(cno,cname,tno) 课程表
  -- sc(sno,cno,score) 成绩表
  -- teacher(tno,tname) 教师表

  1、查询“001”课程比“002”课程成绩高的所有学生的学号;
    step1:查询所有学生的学号和成绩关联的表是sc表
    step2:查询课程1和课程2的成绩
    select score, sno from sc where sc.cno = 1;   -- alias a
    select score, sno from sc where sc.cno = 2;   -- alias b
    step3:查询同一人的课程1和2的分数进行比较
    a.score > b.score and a.sno = b.sno
  select a.sno from (select score, sno from sc where sc.cno = 1) a,
                  (select score, sno from sc where sc.cno = 2) b
              where a.score > b.score and a.sno = b.sno;
  此题知识点,嵌套查询和给查出来的表起别名

  2.查询平均成绩大于60分的同学的学号和平均成绩;

  step1:查询所涉及的表是sc
    step2:平均成绩 avg()方法,根据学号进行分组,聚合函数算取平均分

  select sno, avg(score) from sc group by sno having avg(score) > 60;

  此题知识点,GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。group by后面不能接where,having代替了where

  3.查询所有同学的学号、姓名、选课数、总成绩;

  step1:学号和姓名来自学生表,选课数和总成绩来自成绩表

  step2:select sno, sname from student;    -- 获取学号和姓名
  step3:select sno, count(*), sum(score) from sc group by sno;  -- 获取总成绩和选课数
  select s.sno, s.sname, count(sc.cno), sum(sc.score) from student s left join sc on s.sno = sc.sno group by s.sno, s.sname;

  此题主要考察左关联查询和分组使用

  

  

  

  

  

  

  

转载于:https://www.cnblogs.com/zhtzyh2012/p/5235997.html

2016030208 - sql50题练习题相关推荐

  1. 中心睿典计算机考试题,广西百色中星睿典职称计算机考试:wpsOffice判断题练习题及答案...

    广西百色中星睿典职称计算机考试:wpsOffice判断题练习题及答案 原计划今年计算机应用能力考试工作全区采用统一的网上报名系统,但由于自治区人事考试院网上报名缴费管理平台开通使用的具体时间至今仍无法 ...

  2. c语言考试 程序填空题,计算机二级C语言程序填空题练习题

    计算机二级C语言程序填空题练习题 导语:为帮助同学们更好更有准备地复习计算机二级C语言,小编整理了计算机二级C语言程序填空题练习题,一起来测试一下吧: 程序填空题 下列给定程序中,函数fun的功能是: ...

  3. SQL50道练习题(1-15)

    看到网上流传的SQL50道经典练习题拿来作为复习. 数据表 先将在数据库中建立下面4张表,我使用的客户端Navicat for mysql. 1.学生表 student(s_id,s_name,s_a ...

  4. 5道不一样的Python基础题练习题,很有难度

    下面这5道题,如果不打开Python实验,据说只有1%的人能全部做对.来挑战一下,看看你是不是Pythoner中的Top 1%. 第一题: #填空使等式成立: _(-1) == 1 #Python学习 ...

  5. 2016030207 - sql50题练习(脚本)

    我的mysql版本是5.下面是要进行sql练习题使用的脚本.脚本是我整理出来的,在我本地直接复制执行就可以使用! 参考网址是:http://blog.csdn.net/zhangyulin54321/ ...

  6. SQL50题(MySQL)

    首先创建一下数据库以及题目需要用的表: CREATE TABLE Student ( SId VARCHAR(6),Sname VARCHAR(10),Sage DATE,Ssex VARCHAR(1 ...

  7. 2020成考C语言答案,2020年成人高考语文题库(含历年真题练习题模拟题)

    **部分 历年真题 2014年成人高考高中起点升专科.本科<语文>试卷及详解 一.语言知识与语言运用.(24分,每小题4分) 1.下列词语中加点字的读音全都不相同的一组是(  ). A.昏 ...

  8. c语言二级填空题及答案,2012年计算机等级二级C语言填空题练习题及答案解析(2)...

    求和.平均值 1. 请补全main函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的的绝对值,并显示出来. main() {long int n; clrscr() ; print ...

  9. 2011年6月安徽省计算机水平(二级c语言试题)及解析答案,2011年计算机等级二级C语言填空题练习题及答案解析(2)...

    求和.平均值 1. 请补全main函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的的绝对值,并显示出来. main() {long int n; clrscr() ; print ...

最新文章

  1. java opencv bp网_基于Opencv自带BP网络的车标简易识别
  2. python使用符号#表示单行注释-【经济金融及Python应用讲义】Python编程规范之注释...
  3. python买什么书好-python看什么书好
  4. 【Android 逆向】IDA 工具使用 ( 同步指定的 IDA View 视图 | Hex View 数据格式 | 过滤设置 )
  5. 小目标检测、图像分类、图像识别等开源数据集汇总
  6. pyqt 取鼠标处文字_爱剪辑:炫彩的动态标题文字特效,这招让视频片头LOGO更酷炫...
  7. mysql数据库基础简介_MySql数据库基础之数据库简介及安装
  8. 东方终焉组审核页可做引导页
  9. Ubuntu20.04配置Java环境
  10. 《Windows高级调试》译者线上聊天活动获奖网友名单
  11. iphone主屏幕动态壁纸_苹果11怎么设置动态壁纸?这个简单!只需这样操作
  12. 心电图分析软件_狼疮性心肌炎39例临床特点及预后分析
  13. 漆包线规格型号(漆包线外径)
  14. 安川机器人原点丢失_安川机器人原点及校准浅析
  15. Java JSP技术详解:(一)JSP 简介
  16. LimeSDR 中文教程 (九)
  17. springboot配置logback日志
  18. Super-Resolution Mapping of Impervious Surfaces from Remotely Sensed Imagery with Points-of-Interest
  19. matlab命令批量重命名,MATLAB中预定义对话框之文件打开对话框以及如何批量重命名...
  20. Kewail:三种常用的邮件内容传送编码

热门文章

  1. Disruptor内存消息队列的资料整理
  2. Feign Client 原理和使用
  3. idea安装drl插件
  4. idea添加添加自动添加版本控制
  5. Maven依赖junit @Test报错解决
  6. 富文本转换字符串 php,php 如何将一个富文本字符串生成word文档?
  7. 使用try-with-resources优雅的关闭IO流
  8. Unable to compile class for JSP 的可能原因
  9. 英语每日阅读---3、VOA慢速英语(翻译+字幕+讲解):哈佛大学被控歧视亚裔学生
  10. 创建索引时,键列位置的重要性