1、查询出所有大连地区的学生的成绩。
2、查询从来没有参加任何考试的学生的信息。
3、查询有考试成绩纪录的学生的信息.
4、将所有大连地区学生的课程编号为3的课程成绩加10分。
5、删除所有C#课的成绩。
6、查询课程编号为3的课程的平均成绩,显示有此门课程成绩的学生编号,成绩及距平均分之间的差值。
7、查询参加了所有考试的学生的姓名。
8、查询有成绩纪录的学生人数。
9、查询有2门以上成绩的学生的姓名和联系方式
10、查询哪些学生有c#考试成绩,显示这些学生的姓名
11.查询出科目中教师的姓名,同时增加编号。
12.随机显示学生信息表中的两条数据:使用newid()函数
13.查询出联系电话为null的学生信息,联系电话用‘无’代替。
14.将查询出的地区为大连的都显示为null.
15.查询科目平均成绩超过70分的教师姓名。

新知识:
对空值进行显示操作:
  • isnull(A,‘aa’)函数可以将空值转换为有效的值。将列名A的值null改为‘aa’显示
  • nullif(A,‘aa’)函数可以根据指定的条件来生成空值。将列名A的值aa改为null显示
newid函数:
  • 使用newid()函数会产生随机行
答案
1、查询出所有大连地区的学生的成绩。
        select s.number,c.score    from chengji as c ,student as s where c.number=s.number and s.diqu='大连'
        select * from chengji where number in( select number from student where diqu='大连')

2、查询从来没有参加任何考试的学生的信息。
select * from student where number not in (select number from chengji)
3、查询有考试成绩纪录的学生的信息.
select * from student where number    in (select number from chengji)
4、将所有大连地区学生的课程编号为3的课程成绩加10分。
update chengji set score=score+10 where scorenumber=3
5、删除所有C#课的成绩。
delete chengji where scorenumber=(select scorenumber from score where kemu='C#')
6、查询课程编号为3的课程的平均成绩,显示有此门课程成绩的学生编号,成绩及距平均分之间的差值。
select number,score-(select avg(score) from chengji where scorenumber=3) from chengji where scorenumber=3
7、查询参加了所有考试的学生的姓名。
select name from student where number in( select max(number) from chengji group by number)
8、查询有成绩纪录的学生人数。
    selectnumber ,name from student where number in
( select max(number) from chengji     group by number having count(scorenumber)=(select count(*) from score) )
9、查询有2门以上成绩的学生的姓名和联系方式。
select name,lianxidianhua from student where number in( select number from chengji group by number having count(scorenumber)>2)
10、查询哪些学生有c#考试成绩,显示这些学生的姓名。
select name from student where number in( select number from chengji where scorenumber =(select scorenumber from score where kemu='c#'))
给结果集添加编号
11.查询出科目中教师的编号,同时增加序号。
        select 序号=(select count(*) from score as a where a.scorenumber<=b.scorenumber ),teacherid    from score as b
        select 序号=identity(1,1),teachername into #newtable from score
12.随机显示学生信息表中的两条数据:使用newid()函数
select top 2 * from student    order by newid()
13.查询出联系电话为null的学生信息,联系电话用‘无’代替。
select name,isnull(convert(char(20),lianxidianhua),'无') from student    
14.将查询出的地区为大连的都显示为null
select name,nullif(diqu,'大连') from student
15.查询科目平均成绩超过70分的教师姓名。
select teachername from teacherinfo where teacherid in    
(select teacherid from score where scorenumber in
(select scorenumber from chengji group by scorenumber having avg(score)>=70))

转载于:https://blog.51cto.com/leafwf/185781

教学思路SQL之入门习题《学员成绩》 三、多表复杂子查询相关推荐

  1. 教学思路SQL之入门习题《学生成绩》 五、使用视图完成多表查询

    视图的概念: 视图对象是一个虚拟的表,虚拟表所包含的结果集是对一个或多个表的查询. 视图本身不保存这个结果集,而是保存查询的定义. 视图的定义是对已经存在表的查询. 使用视图和使用表很类似,可以把视图 ...

  2. 教学思路SQL之入门习题《学员成绩》 一、建表

      习题一学员成绩: 1.创建一个名为学员成绩的数据库, 主要数据文件初始大小为10MB,最大空间为30MB,文件增长幅度为5MB,日志文件初始大小为5MB,最大为20MB,文件增长幅度为3MB,请自 ...

  3. 教学思路SQL之入门习题《学生成绩》 二、基础单表查询

    根据查询要求,写出SQL脚本: 1.    查询学生信息表,查找学生的姓名,性别,并将查询结果按姓名进行排序. 2.查询学生信息表,查找地区在大连的学生,显示其姓名,联系电话,地区. 3.    查询 ...

  4. springDataJpa入门教程(5)-单表动态条件查询+分页

    springDataJpa入门教程 springDataJpa入门教程(1)-基于springBoot的基本增删改查 springDataJpa入门教程(2)-Specification动态条件查询+ ...

  5. mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)

    前文介绍了单表查询:mysql数据库入门教程(4):查询讲解大全 今天介绍下多表查询 一.连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 先送上下面所讲用到的sql脚本 h ...

  6. SQL优化之一则MySQL中的DELETE、UPDATE 子查询的锁机制失效案例

    关注"数据和云",精彩不容错过 前言 开发与维护人员避免不了与 in/exists.not in/not exists 子查询打交道,接触过的人可能知道 in/exists.not ...

  7. sql 异常除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。...

    问题:当子查询内存在ORDER BY 字句时查询会报错 SQL: SELECT * FROM ( SELECT * FROM USER ORDER BY USER_CORD ) S. 解决办法:在子查 ...

  8. oracle多表嵌套查询使用,oracle sql 多表 嵌套子查询 连接查询, join where exist i...

    转:http://hi.baidu.com/delphi_relive/blog/item/d7c0034a49c4932208f7ef21.html in 和 exists也是很好区别的. in 是 ...

  9. sqlserver  sql 异常<除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。>

    问题:使用sql查询时报错 SELECT* FROM(SELECTa.value2,a.value3,a.value4,a.hospitalization_idFROMv_treatment_proc ...

最新文章

  1. sdut 2506 完美网络(优先队列)
  2. 图像二值化之最大类间方差法(大津法,OTSU)
  3. 【Hibernate】hibernate主键生成策略与配置详解
  4. 不吃不喝,两周业余时间研究(cisco SCE CM )
  5. 安徽省计算机水平考试试卷,第1次安徽省计算机水平考试试卷.doc
  6. Android端实时音视频开发指南
  7. java - 人员分配组合
  8. springMVC整合swagger(亲自试验完全可用)
  9. oracle dataguard 03113 error code solution
  10. 一分钟了解react
  11. 怎么把matlab 训练的model 保存下来 然后在opencv 中调用
  12. 麟龙指标通达信指标公式源码_通达信麟龙KDJ多周期副图指标 源码(图文)
  13. 最齐全的地面贴图素材,速来收藏
  14. linux mud 游戏,一笑天涯MUD游戏
  15. facebook推广有哪些运营技巧?
  16. 掩码、子网掩码及子网划分
  17. 基础编程题目集(15 分题)
  18. 洛谷 P2327 [SCOI2005]扫雷 解题报告
  19. 影视音乐,不了的情怀
  20. Android实例之必应每日一图

热门文章

  1. C#中实现空间的登录加密密码脚本里的方法
  2. 6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱
  3. Magento教程 10:如何修改网站文字?
  4. canvas保存为data:image扩展功能的实现
  5. ROS小白——软件安装(1)
  6. struct timeval结构体 以及 gettimeofday()函数
  7. Linux系统的优缺点
  8. Ubuntu下安装visual studio code
  9. 使用preparedStatement执行sql语句 20210411094249744
  10. 工具栏的使用 1118