sql语句练习50题
2016-06-28 09:46
1351 查看
数据表结构如下,完成下面的50个sql语句操作。
Student(Sid,Sname,Sage,Ssex) 学生表
Course(Cid,Cname,Tid) 课程表
SC(Sid,Cid,score) 成绩表
Teacher(Tid,Tname) 教师表
练习内容:
1.查询“某1”课程比“某2”课程成绩高的所有学生的学号;
SELECT a.sid FROM (SELECT sid,score FROM SC WHERE cid=1) a,(SELECT sid,score FROM SC WHERE cid=3) b WHERE a.score>b.score AND a.sid=b.sid;
此题知识点,嵌套查询和给查出来的表起别名
2.查询平均成绩大于60分的同学的学号和平均成绩;
SELECT sid,avg(score) FROM sc GROUP BY sid having avg(score) >60;
此题知识点,GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。group by后面不能接where,having代替了where
Student(Sid,Sname,Sage,Ssex) 学生表
Course(Cid,Cname,Tid) 课程表
SC(Sid,Cid,score) 成绩表
Teacher(Tid,Tname) 教师表
练习内容:
1.查询“某1”课程比“某2”课程成绩高的所有学生的学号;
SELECT a.sid FROM (SELECT sid,score FROM SC WHERE cid=1) a,(SELECT sid,score FROM SC WHERE cid=3) b WHERE a.score>b.score AND a.sid=b.sid;
此题知识点,嵌套查询和给查出来的表起别名
2.查询平均成绩大于60分的同学的学号和平均成绩;
SELECT sid,avg(score) FROM sc GROUP BY sid having avg(score) >60;
此题知识点,GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。group by后面不能接where,having代替了where
相关文章推荐
- MySql添加用户,新建数据库,用户授权,删除用户,修改密码
- 恢复MySQL slave上的某几张表的方法
- mysql新建表时提示Table 'db.table' doesn't exist解决方法
- ORACLE:由位图索引引发的sql问题
- Mysql ./ibdata1 can't be opened in read-write mode
- Django、MySQL开发WEB项目防止中文乱码的有效方法
- oracle创建用户
- 安装oracle的版本问题
- 圣光照耀联盟—PostgreSQL临时表的创建与使用过程
- (转)SQL Server中使用convert进行日期转换
- Hibernate的七种映射关系之七种关联映射
- PostgreSQL 锁监控
- mysql 行列转换方式
- oracle 导入txt
- [转]MySQL主从复制入门
- mysql常用的增删改操作
- ORACLE存储过程while循环的使用
- oracle 按自定义的序列排序结果集
- session入mysql
- SQLite更新数据列,给数据加一个前(后)缀