mysql 回顾小练习
Student(id,sname,age,sex) 学生表
Course(id,cname,t_id) 课程表
SC(s_id,c_id,score) 成绩表
Teacher(id,Tname) 教师表
问题:
1.查询“001”课程比“002”课程成绩高的所有学生的学号;
select aa.id from (select s.id,SC.score sc1 from student s ,Course c,SC where s.id=SC.s_id and c.id=SC.c_id and c.id=1) aa,(select s.id,SC.score sc2 from student s ,Course c,SC where s.id=SC.s_id and c.id=SC.c_id and c.id =2) bb where aa.id=bb.id and aa.sc1>bb.sc2
2.查询平均成绩大于60分的同学的学号和平均成绩;
select s.id ,avg(SC.score) from student s,SC where s.id=SC.s_id GROUP BY s.id HAVING avg(SC.score)>60
3.查询所有同学的学号、姓名、选课数、总成绩;
select s.id,s.sname,count(c.id) XUKESHU,sum(SC.score) ZONGCHENGJI from student s,SC,Course c where s.id=SC.s_id and c.id=SC.c_id GROUP BY s.id
4.查询姓“李”的老师的个数;
select count(t.id) from Teacher t where t.tname like"李%"
5.查询没学过“叶平”老师课的同学的学号、姓名;
select s.id from student s where s.id not in (select s.id from student s , Teacher t ,Course c ,SC where SC.s_id=s.id and SC.c_id=c.id and c.t_id=t.id and c.id =1)
6.查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;
select aa.id,aa.sname from (select s.id,s.sname from student s , Teacher t ,Course c ,SC where SC.s_id=s.id and SC.c_id=c.id and c.t_id=t.id and c.id =1 ) aa,(select s.id,s.sname from student s , Teacher t ,Course c ,SC where SC.s_id=s.id and SC.c_id=c.id and c.t_id=t.id and c.id =2) bb where aa.id=bb.id
7.查询不同老师所教不同课程平均分从高到低显示
select avg(SC.score),t.tname,c.cname from SC, Teacher t,Course c where SC.c_id=c.id and c.t_id=t.id GROUP BY t.tname order by avg(SC.score) desc
8.查询各科成绩前三名的记录:(不考虑成绩并列情况)
select s.id,s.sname,c.cname,SC.score from student s , Teacher t ,Course c ,SC where SC.s_id=s.id and SC.c_id=c.id and c.t_id=t.id and c.id =1 order by SC.score desc limit 3
9.查询男生人数
select count(s.id),s.sex from student s where s.sex="男"
10.查询同名同性学生名单,并统计同名人数
select count(s.id),s.sname from student s GROUP BY s.sname HAVING count(s.id)>1
mysql 回顾小练习的更多相关文章
- Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表
Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表 一个个人觉得比较简单小巧的软件. 下面就如何编写如何发布打包来介绍一下吧! 先下载mysql的库文件链接:http://files. ...
- mysql优化小技巧
对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] c: 分表技术(水平 ...
- MYSQL 问题小总结
mysql 问题小总结 1.MySQL远程连接ERROR 2003(HY000):Can't connect to MySQL server on ‘ip’(111)的问题 通常是mysql配置文件中 ...
- mysql排错小指南
mysql排错小指南 查询运行很慢时,可以执行mysql> show processlist\G mysql> show processlist\G ******************* ...
- 《MySQL面试小抄》查询缓存机制终面
<MySQL面试小抄>查询缓存机制终面 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点 ...
- 《MySQL面试小抄》索引考点一面总结
<MySQL面试小抄>索引考点一面总结 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟 囧囧表示:面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! ...
- 《MySQL面试小抄》索引考点二面总结
<MySQL面试小抄>索引考点二面总结 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点 ...
- mysql注入小测试
转自:http://www.jb51.net/article/46163.htm 在开发网站的时候,出于安全考虑,需要过滤从页面传递过来的字符.通常,用户可以通过以下接口调用数据库的内容:URL地址栏 ...
- mysql的小总结
1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数 ...
随机推荐
- Apollo原理
https://github.com/ctripcorp/apollo/wiki/Apollo%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E8%AE%BE%E8%AE%A ...
- java基础(2)-面向对象(1)
面向对象 面向对象思想 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程:强调的是功能行为 面向对象:将功能封装进对象,强调具备了功能的对象 面向对象是基于面向过程的 面向对象举例 ...
- Java -- 数据库 多表操作,1对多,多对多,1对1。 基于dbutils框架
1. 1对多,部门--员工 为例, 多的一方建外键. domain,建立bean对象 public class Department { private String id; private Stri ...
- UOJ12 猜数
这一天,小Y.小D.小C正在愉快地玩耍. 小Y是个数学家,他一拍脑袋冒出了一个神奇的完全平方数 nn. 小D是个机灵鬼,很快从小Y嘴里套出了 nn 的值.然后在脑内把 nn 写成了 a×ba×b的形式 ...
- 10.0.4_CentOS_120g_for_Qt5.3.2
对应 VMware Workstation 版本为:“10.0.4 build-2249910”
- 一位资深php程序员在北京的面试30个题目
1.SESSION 保存在服务器的哪里?2.服务端是如何获取客户端的cookie?3.如何实现SESSION共享,共享的原理是什么?4.请大致说出LVS搭建的过程,文件共享原理是什么?5.网络共享服务 ...
- 牛客练习赛7E 珂朵莉的数列
题意:求所有子区间的逆序数对数之和 题解:树状数组维护,对于每一对逆序数(l,r)属于l*(n-r+1)个区间,计算每一对对结果的贡献即可,可用树状数组维护,sum维护(n-r+1),按逆序数那样操作 ...
- win7与vbox虚拟机Ubuntu设置共享文件夹
1.进入Ubuntu系统,在右上角打开设备->安装增强功能->运行->输入密码 2.在终端中安装,安装完后重新启动Ubuntu 3.在本机中设置一个共享文件夹(文件名是vbox-sh ...
- /var/adm/wtmp文件太大该怎么办?
/var/admin/wtmp文件记录所有用户的登陆信息,随着时间会增长到很大,/var/adm/wtmp文件太大该怎么办呢?先来看看/var/adm/wtmp文件的属性:testterm1:/#ls ...
- CentOS 6.8安装Docker V1.0
rpm -Uvh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum -y install do ...