一、题目

1.与“张三”同乡的男生姓名

select * from student where snativeplace=(select snativeplace from student where sname='张三') and ssex='男'

2.选修了赵露老师所讲课程的学生人数

select count(*) from mark where cid in(select cid from course where tid=(select tid from teacher where tname='赵露')) group by cid
select count(distinct sid) from mark where cid in(select cid from course where tid=(select tid from teacher where tname='赵露'))

3.查询没学过“王”姓老师课的同学的学号、姓名

select * from student where sid not in(select sid from mark where cid in(
select cid from course where tid in(select tid from teacher where tname like '王%')))

4.数学”课程得最高分的学生姓名、性别

select * from student where sid in(
select sid from mark where cid=(
select cid from course where cname='数学')
and cmark>= all(
select cmark from mark where cid=(select cid from course where cname='数学')
))

5.统计每门课程的平均成绩,并按照成绩降序排序

select *from(select (select cname from course where cid=m.cid), avg(cmark) cavg
from mark m group by cid )order by cavg desc
select * from (select avg(cmark) cavr from mark group by cid)order by cavg desc

6.子查询实现查询‘3-2班’"张立"同学的"英语"成绩

select cmark 成绩 from mark where sid=(
select sid from student where sname='张三'and sclass='2班')
and cid =(select cid from course where cname='英语')

7.查询所在班级和该班内学生的年龄之和,对该班级中每个人的年龄进行比对,(要求大于20岁的人参与统计)

select sclass ,sum(sage) from student where sage>=20 group by sclass 

8.查询所在班级和该班内学生的年龄之和,(要求该班级中每个人的年龄都大于20岁)

select sclass ,sum(sage) from student group by sclass having min(sage)>20

select sclass ,sum(sage) from student where sclass not in(
select sclass from student where sage<20 group by sclass) group by sclass

9.用子查询实现查询选修“高等数学”课的全部学生的高等数学总成绩

select sum(cmark) from mark where cid =(select cid from course where cname='数学')

10.用子查询实现查询选修“高等数学”课的全部学生的所有课程总成绩*/

select sum(cmark) from mark where sid in(select sid from mark where cid =(select cid from course where cname='数学'))

11.请用两种方法实现:查找所有成绩都在68分以上的学生姓名*/

select sid,sname from student where sid in (
select sid from mark group by sid having min(cmark)>=68) select sid,sname from student s where exists (
select sid from mark m where s.sid=m.sid group by sid having min(cmark)>=68)

12.查找至少2门成绩在80分以上的学生姓名

select sname from student where sid in(
select sid from mark where cmark >=80 group by sid having count(*)>=2
)

13.查询至少有一门课与张三同学所学相同的同学的学号和姓名

select sid,sname from student where sid in(
select sid from mark where cid in (
select cid from mark where sid in (
select sid from student where sname='张三')))

14.没有选修“数学”课的学生的姓名*/

select sname from student where sid in (
select sid from mark where sid not in(
select sid from mark where cid in(
select cid from course where cname='数学'
)
)
)

15.查询个人总成绩小于平均总成绩的学生姓名

step1、计算出平均总分
step1.1计算出个人总分表
select sid,sum(cmark) smk from mark group by sid
step1.2对总分表求平均值
select avg(smk) from (step1.1)
step2、找出在个人总分表中找出谁的总分低于step1
step2.1 select sid from (step1.1)where smk <(step1.2)
step2.2 select sname from student where sid in (step2.1)

Orcle数据库查询练习复习:三的更多相关文章

  1. Orcle数据库查询练习复习:一

    一.创建数据库和表 drop table student; create table student ( sid int, sname ), sage int, ssex ), snativeplac ...

  2. Orcle数据库查询练习复习:四

    一.题目 1.找出张三的最高分和最低分以及对应的课程名 select * from course c,mark m where c.cid=m.cid and sid =(select sid fro ...

  3. Orcle数据库查询练习复习:二

    一.题目 1.找出所有成绩均低于80的学生姓名 select sname from student where sid in( ) select sname from student where si ...

  4. Yii2.0数据库查询实例(三)

    常用查询: // WHERE admin_id >= 10 LIMIT 0,10 User::find()->])->offset()->limit()->all() / ...

  5. SQL复习三(子查询)

    子查询 子查询就是嵌套查询,即select中包含这select,如果一条语句中存在着两个,或者两个以上的select,那么就是子查询语句了. 子查询出现的位置 where后,作为条件的一部分: fro ...

  6. MariaDB使用数据库查询《三》

                                                                 MariaDB使用数据库查询 案例5:使用数据库查询 5.1 问题 本例要求配 ...

  7. 第九十九天上课 PHP TP框架 数据库查询和增加

    在Model文件夹下创建模型,文件命名规则 : 表名Model.class.php <?php namespace Home\Model; use Think\Model; class yong ...

  8. 【转】Delphi多线程学习(9):多线程数据库查询(ADO)

    原文:http://www.cnblogs.com/djcsch2001/articles/2382559.html ADO多线程数据库查询通常会出现3个问题: 1.CoInitialize 没有调用 ...

  9. 教程-Delphi多线程数据库查询(ADO)

    ADO多线程数据库查询通常会出现3个问题: 1.CoInitialize 没有调用(CoInitialize was not called):所以,在使用任何dbGo对象前,必须手 调用CoIniti ...

随机推荐

  1. 为Eclipse设置背景色

    1:打开Eclipse,在菜单栏找到Help—>Install new software.. 2:在打开的Work with中输入: Update Site - http://eclipse-c ...

  2. python学习第三天第一部分

    字典 1.字典的定义和规则: 定义:{key1:value1,key2:value2} key 的定义规则:1.必须是不可变的(数字.字符串.元组):2.必须是唯一的, value的定义规则:任意类型 ...

  3. WPF之旅(一)- 概述

    WPF与之前出现的其他技术相比引入了“内置硬件加速”和“分辨率无关”等创新功能.WPF是一种成熟的技术,它是几个已经发布的.NET平台的一部分,并通过几个版本不断地进行完善(WPF3.0 -> ...

  4. Winform将网页生成图片

    今天无意见看到浏览器有将网页生成图片的功能,顿时赶脚很好奇,于是就找了找资料自己做了一个类似的功能. 工具截图:生成后的图片 手动填写网站地址,可选择图片类型和保持图片地址,来生成页面的图片,当图片路 ...

  5. 鼠标驱动之-sys节点-input子系统

    首先需要了解sys节点和linux驱动编程的知识,在linux内核<linux/>下有着对应的实现.本例实现创建sys节点,外围程序通过input子系统控制鼠标位置. 第一步编写驱动代码, ...

  6. easy ui datagrid 获取选中行的数据

    取得选中行数据: var row = $('#tt').datagrid('getSelected'); if (row){ alert('Item ID:'+row.itemid+" Pr ...

  7. ASP.NET MVC +EasyUI 权限设计(一)开篇

    在前一段时间中,老魏的确非常的忙碌,Blog基本上没有更新了,非常的抱歉,那么在后面的时间中,老魏会尽量的抽时间来写的,可能时间上就不太富裕了.今天开始呢,老魏会和大家分享一下关于权限设计的有关文章, ...

  8. vagrant在windows下的使用

    vagrant在windows下的使用 下载安装 VirtualBox :https://www.virtualbox.org/ 下载安装 Vagrant :http://www.vagrantup. ...

  9. Fibonacci数

    Fibonacci数 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递 ...

  10. android ble connect slowly

    Hi I'm writing an Android app to connect to a BLE peripheral device. Android 4.4.2, Galaxy Nexus. I ...