- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库期末复习资料数据库末复习资料
1、查询全体学生姓名,学号,性别
SELECT 学号,姓名,性别
FROM XSQK
2、查询学生全部信息
SELECT *
FROM XSQK
3、查询选修了课程的学生的学号
SELECT 学号
FROM XS_KC
GROUP BY 学号
4、查询全体学生的姓名(将姓名改为NAME),学号,性别
SELECT DISTINCT 姓名 NAME,学号,性别
FROM XSQK1
二、条件查询
1、查询选修课程为101的学生的学号和成绩
SELECT 学号,成绩
FROM XS_CK
WHERE 课程号=101
用课本作业做:
2、查询分数在70分以上的学生选课信息,并按成绩降序排列SELECT *
FROM SC
WHERE GR70
ORDER BY GR DESC
3、在SC表中按学号分组汇总学生的平均分,并按平均分的降序排列。
SELECT S#,平均分=AVG(GR)
FROM SC
GROUP BY S#
ORDER BY 平均分 DESC
或
SELECT S#,AVG(GR)AS 平均分
FROM SC
GROUP BY S#
ORDER BY 平均分 DESC
4、在SC表中查询选修了3门以上课程的学生学号。
SELECT S#
FROM SC
GROUP BY S#
HAVING COUNT(*)3
5、按学号对不及格的成绩记录进行明细汇总。
SELECT S#,C#,GR
FROM SC
WHERE GR60
ORDER BY S#
COMPUTE COUNT(GR)
BY S#
6、分别用子查询和连接查询,求107号课程不及格的学生信息。
子查询:
SELECT 学号,姓名,联系电话
FROM XSQK
WHERE 学号 IN(
SELECT 学号
FROM XS_KC
WHERE 课程号=107 AND 成绩60)
连接查询:
SELECT XSQK.学号,姓名,联系电话
FROM XSQK
JOIN XS_KC ON XSQK.学号=XS_KC.学号
WHERE 课程号=107AND 成绩60
7、用连接查询在XSQK表中查询住在同一寝室的学生,即其联系电话相同
SELECT A.学号,A.姓名,A.联系电话
FROM XSQK A
JOIN XSQK B ON A.联系电话=B.联系电话
WHERE A.学号B.学号
8、查询XSQK表中所有系名
SELECT DISTINCT 所在系
FROM XSQK
9、查询有多少同学选修了课程。
SELECT COUNT(*)AS 选修了课程的人数
FROM XSQK
WHERE 学号 IN(
SELECT 学号
FROM XS_KC)
10、查询有多少同学没有选课。
SELECT COUNT(*)AS 没有选修课程的人数
FROM XSQK
WHERE 学号 NOT IN(
SELECT 学号
FROM XS_KC)
11、查询与杨颖同一个系的同学姓名。
SELECT 姓名
FROM XSQK
WHERE 所在系=(
SELECT 所在系
FROM XSQK
WHERE 姓名=杨颖)
12、查询选修了课程的学生的姓名、课程名与成绩。
SELECT 姓名,课程名,成绩
FROM XS_KC,XSQK,KC
WHERE (XS_KC.学号=XSQK.学号) AND (XS_KC.课程号=KC.课???号) AND
XSQK.学号=ANY(
SELECT 学号
FROM XS_KC)
13、统计每门课程的选课人数和最高分。
SELECT 课程名,COUNT(*)AS 选此课人数,MAX(成绩)AS 最高分
FROM XS_KC,KC
WHERE XS_KC.课程号=KC.课程号
GROUP BY 课程名
14、统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列。
错误程序:
SELECT XSQK.学号,姓名,COUNT(*)AS 选课门数,SUM(成绩)AS 总成绩
FROM XS_CK,XSQK
WHERE XS_CK.学号=XSQK.学号
GROUP BY 姓名
ORDER BY 选课门数 DESC
正确程序:
SELECT 学号,姓名,COUNT(*)AS 选课门数,SUM(成绩)AS 总成绩
FROM XS_CK,XSQK
WHERE XS_CK.学号=XSQK.学号
GROUP BY 姓名
ORDER BY 选课门数 DESC
15、 WHERE子句与HAVING子句有何不同?
答:二者的根本区别在于作用对象不同,WHERE自居作用于基本表或视图,从中选择满足条件的元祖;HAVING子句作用于组,选择面租条件的组,必须用在GROUP BY子句之后,但GROUP BY子句可没有HAVING子句。
您可能关注的文档
- 教学设计与评价研究3教学计与评价研究3.ppt
- 教务管理系统软件项目计划务书教务管理系统软件项目计划任务书.doc
- 教室视频监控系统教室视频控系统.doc
- 教师外出培训心得教师外出训心得.doc
- 教师入编招聘面试问题教师编招聘面试问题.doc
- 教师岗位量化考核细则1教岗位量化考核细则1.doc
- 教学研究工作计划(201.2)教学研究工作计划(2013.2).doc
- 教师外出实践活动方案教师出实践活动方案.doc
- 教师教学工作学月考核情况录(学月考核表)2014上期教师教学工作学月考核情况记录(学月考核表)2014上期.doc
- 教师招聘考试:面试中的语沟通技巧教师招聘考试:面试中的语言沟通技巧.doc
文档评论(0)