①求选修了数据结构的学生学号和成绩。
select s_no,score
from choice
where s_no in (select s_no from course where course_name='数据结构')
②求01001课程的成绩高于张彬的学生学号和成绩。
select s_no,score
from choice
where course_no='01001'
and score>(select score from choice,studentwhere choice.s_no=student.s_no and s_name='张彬')
③求其他班中比js9901班某一学生年龄小的学生姓名和年龄。
select s_name,DATEDIFF(YEAR,s_birthday,GETDATE()) s_age
from student
where s_birthday>any(select s_birthday
from student
where class_no='js9901') and class_no<>'js9901'
④求其他班中比js9901班所有学生年龄都小的学生姓名和年龄。
select s_name,DATEDIFF(YEAR,s_birthday,GETDATE()) s_age
from student
where s_birthday>all(select s_birthday from student where class_no='js9901')
and class_no<>'js9901'
⑤求选修了02001课程的学生姓名。
select s_name from student
where exists(select * from choice where course_no='02001')
⑥求没有选修了02001课程的学生姓名。
select s_name from student
where not exists(select * from choice where course_no='02001')
⑦查询选修了全部课程的学生的姓名。
select s_name from student
where not exists(select * from choice where s_no=student.s_no)
⑧求至少选修了学号为991101的学生所选修的全部课程的学生学号和姓名。
select s_name from student
Where s_no in (select s_no from choice c1 where not exists(select choice c2
where c2.s_no='991101'
and not exists(select choice c3 where c3.s_no=c1.s_no and c3.s_no=c2.s_no)))
①   查询学生总人数。
select count(*) from student
②   查询选修了课程的学生人数。
select count(distinct s_no) from choice
③   计算01001课程的学生平均成绩。
select avg(score) from choice where course_no='01001’
④   查询选修01001课程的学生的最高分数。
select max(score) from choice where course_no='01001'
⑤   求学号为991101学生的总分和平均分。
select count(score),avg(score) from choice where course_no='991101'
⑥   求各个课程号及相应的选课人数。
select course_no,count(s_no) from choice group by course_no
⑦   查询选修了3门以上课程的学生学号。
select s_no from choice group by s_no having count(*)>3
⑧查询选修了3门以上且各门课程均为及格的学生的学号及其总成绩,查询结果按总成绩降序列出。
select s_no,sum(score) as zongchengji from choice
where any(score)>=60
group by s_no
order by having(count(*)>3)
sum(score) desc
1.   集合查询
在Transact-SQL中没有直接提供集合的交操作INTERSECT和差MINUS操作,但可以使用其他方法实现。
①查询js9902班的学生及年龄不大于19岁的学生。
select DATEDIFF(YEAR,s_birthday,GETDATE()) s_age
from student
where s_age<=19
union
select *
from student
where class_no='js9902'
②查询选修了课程01001或者选修了01002的学生。
select s_no
from choice
where course_no='01001'
union
select s_no
from choice
where course_no='01002'
③查询学号为991101和学号为991102的学生的学号和总分。
select s_no,sum(score)
from choice
where s_no='991101'
union
select s_no,sum(score)
from choice
where s_no='991102'
④查询js9902班的学生与年龄不大于19岁的学生的交集。
select DATEDIFF(YEAR,s_birthday,GETDATE()) s_age
from student
where s_age<=19
intersect
select *
from student
where class_no='js9902'
⑤查询js9902班的学生与年龄不大于19岁的学生的差集。select DATEDIFF(YEAR,s_birthday,GETDATE()) s_age
from student
where s_age<=19
except
select *
from student
where class_no='js9902'

数据库的嵌套查询和统计查询相关推荐

  1. mysql中实现分类统计查询的步骤_实验07:数据库的组合查询和统计查询

    实验6:数据库的组合查询和统计查询实验 本实验需要 4 学时. 一.实验目的 使学生熟练掌握SQL Server 查询分析器的使用方法,加深对SQL 和Transact-SQL 语言的查询语句的理解. ...

  2. 数据库实验6 数据库的分组查询和统计查询

    实验6 数据库的分组查询和统计查询 6.1实验目的及要求 熟练掌握数据查询中的分组.统计.计算和集合的操作方法 6.2实验内容 使用聚集函数查询.分组计算查询.集合查询 6.3实验步骤 6.3.1使用 ...

  3. 《数据库系统原理及应用教程》(苗雪兰等,第五版) 实验五:数据库的组合查询和统计查询实验

    阅读前注意: 1. 本实验报告配套<数据库系统原理及应用教程>(苗雪兰等,第五版) 实验五:数据库的组合查询和统计查询实验(书上10.4节以及第六章部分内容),书本中采用Microsoft ...

  4. SQL数据库的组合查询和统计查询

    数据库的组合查询和统计查询 一.实验目的 对数据库进行组合查询和统计查询 二.实验内容 1.加深对SQL语言查询语句的理解 2.熟练掌握数据查询中的分组统计.计算和组合操作方法. 三.实验要求 在本题 ...

  5. 数据库第四次试验:数据库的组合查询、统计查询及视图

    数据库第四次试验:数据库的组合查询.统计查询及视图 前言 一.实验目的 二.实验要求 三.实验原理.方法和手段 四.实验组织运行要求 五.实验条件 六.实验步骤 七.思考题 八.实验报告 九.其他说明 ...

  6. 【数据库】数据库的投影查询、运算查询、条件查询、统计查询

    查询所有列 DQL(查询) select * from emp; ​​​​​​​或输入相关参量 select ename,job,mgr,hiredate,sal,comm,deptno,empno ...

  7. 通过JDBC实现对Oracle,mysql数据库的增删改查,模糊查询,查询全部,根据ID查询,分页查询,统计查询,

    首先,需要了解一些连接Oracle的基础的知识 jdbc:oracle:thin:@localhost:1521:orcl是java程序通过jdbc连接oracle数据库的一种方式. 解释: jdbc ...

  8. mysql求和 子查询_MYSQL 查询方法 统计查询 链接查询 子查询

    mysql表格查询方法: 查询: 1.简单查询 select * from Info --查所有数据 select Code,Name from Info --查指定列的数据 select Code ...

  9. 简单查询(1.普通查询2.条件查询3.模糊查询4.排序查询5.统计查询(聚合函数)6.分组查询7.分页查询)...

    1.普通查询 select * from Info #查询Info表中所有内容 select Code,Name from Info #查询Info表中的某几列 2.条件查询 select * fro ...

  10. 实验07 集合查询和统计查询

    文章目录 实验目的 实验要求 实验内容 查询客户表中的男性总人数. 通过购买记录查询客户总人数. 统计每个卖家所拥有的商品种类数. 查询购买商品种类大于3的客户姓名及电话. 统计店名为"晓晓 ...

最新文章

  1. 修改所有列_宝塔面板安装完的一些列操作
  2. 飞花的糖果_JAVA
  3. 深度学习之基于opencv和CNN实现人脸识别
  4. dyve/django-bootstrap-toolkit
  5. ASP.NET开发框架之HIPPO技术内幕(三)--数据库连接
  6. java入门简单小项目_JAVA入门_java项目接入Mysql8.0
  7. Vue3---安装axios
  8. 摄像机没有连接到计算机代码45,摄像头错误代码的解决办法
  9. liteide+g:Goland多版本管理
  10. EXCEL图表的绘制: 如何把1个图表拆成多个?
  11. 小白入门python教程自学python
  12. 塔塔露也能看懂的服务器配置pytorch,TensorFlow教程
  13. 一文解决Opencv四大经典算子——sobel算子、scharr算子、laplacian算子、canny算子
  14. FREE NAS服务器安装与配置使用
  15. python连接打印机打印文档、图片、pdf文件等
  16. 2018 php 参考文献,美赛2018a题参考文献
  17. 2022年保险行业和产品研究报告
  18. 微信小程序--功能区
  19. 定时器Timer与TimerTask的使用
  20. windows xp 定时执行任务(一)

热门文章

  1. java 双击_利用java开发一个双击执行的小程序
  2. android webview卡顿检测_Android webview隐藏后跳转新页面input输入卡顿与白屏渲染慢的问题说明及修复方案...
  3. P3327 [SDOI2015]约数个数和 (mobius反演)
  4. AT3557 Four Coloring 切比雪夫距离 + 四色构造
  5. 【HNOI2019】白兔之舞【组合数学】【矩阵快速幂】【单位根反演】【Chirp Z-Transform】【原根】【MTT】
  6. 后缀自动机(SAM)构造实现过程演示+习题集锦
  7. nssl1511-我的世界【堆,贪心】
  8. 2018 ACM ICPC Asia Regional - Seoul B.Cosmetic Survey
  9. 【前缀和】【DP】登机(jzoj 5535)
  10. 奶牛的交叉路(jzoj 1756)