SQL查询一
实验学时:2
实验类型:验证
实验要求:必修
一、实验目的
通过本实验使学生掌握单表查询并初步掌握多表查询的技能。
二、实验内容
使用实验一建立的银行贷款数据库和表,完成以下查询。
1-10题为单表查询,11-25为多表查询。
查询所有法人的法人代码、法人名称、经济性质和注册资金。
查询“B1100”银行的的银行名称和电话。
查询贷款金额在2000至4000万元之间的法人代码、银行代码、贷款日期和贷款金额。
查询2009年1月1日以后贷款且贷款期限是10年的法人代码。
查询贷款期限为5年、10年或15年的贷款信息。
查询经济性质为“私营“的所有法人的最高注册资金、最低注册资金和平均注册资金。
查询每种经济性质的法人的经济性质、最高注册资金、最低注册资金和平均注册资金。
统计每个法人的法人代码和贷款总次数,要求查询结果按贷款总次数的升序排列。
查询贷款次数超过3次的法人的平均贷款金额和贷款次数。
统计每种经济性质贷款的法人的总数和其平均贷款金额,列出平均贷款金额前三名的经济性质、法人总数和平均贷款金额。
查询贷款期限为5年、10年或15年的法人名称、银行名称、贷款日期、贷款金额和贷款期限。
查询经济性质为“国营”的法人在“上海”的银行贷款的信息,列出法人名称、银行名称和贷款日期。
查询与“B1100”银行在同一城市(假设银行名称的第5和第6个字符为城市名称)的其他的银行的名称。
查询哪些银行没有贷过款,列出银行号和银行名称。分别用多表连接和子查询两种方式实现。
查询贷过款的所有法人的名称,贷款银行名称,贷款日期,贷款金额,要求将查询结果放在一张新的永久表New_LoanT中,新表中的列名分别为:法人名称、银行名称、贷款日期和贷款金额。
分别查询经济性质“国营”和“私营”的法人名称,贷款银行名称,贷款日期,贷款金额,要求将这两个查询结果合并成一个结果集,并以法人名称、银行名称、贷款日期和贷款金额作为显示列名,结果按贷款日期的升序和贷款金额的降序显示。
使用实验一建立的学生数据库和表,完成以下查询
查询计算机系没有选课的学生的姓名和年龄。
统计‘VB’课程的考试最高分、最低分和平均分。
统计‘数据库’课程的选课人数。
统计计算机系学生’vb’课程考试的最高分、最低分、平均分。
统计每个系学生’vb’课程考试的最高分、最低分、平均分,列出系名和三个分数。
查询每个学生的修课总学分,并进行如下处理:如果总学分高于10分,则显示‘好学生’;如果总学分在6到10分间,则显示‘一般学生’;如果总学分低于6分,则显示‘不好学生’。
统计每个系每个学生的修课门数和平均成绩,如果修课门数大于3并且平均成绩高于90的显示‘优秀’;如果修课门数大于3并且平均成绩在80~90,则显示‘较好’;对于修课门数小于等于3的并且平均成绩高于90的显示‘较好’;如果修课门数小于等于3并且平均成绩在80~90,则显示‘一般’;其他情况显示为‘应努力’。列出系名、学号、原修课门数和平均成绩以及处理后的显示结果。
查询计算机系学生考试成绩最低的两个成绩所对应的学生的姓名、课程名和成绩。
列出没有选课的学生的学号、姓名和所在系。
三、思考题
1、创建表:
教师表(
tid 普通编码定长字符型,长度为10,主关键字
tname 普通编码定长字符型,长度为10,非空
zc 普通编码定长字符型,长度为6)
设此表数据如下:
tid
Tname
zc
T1
A
教授
T2
B
副教授
T3
C
教授
编写SQL语句,使查询的结果显示为如下形式:
教师号
教师名
教授
副教授
T1
A
教授
T2
B
副教授
T3
C
教授
2、创建表:
教师表(
tid 普通编码定长字符型,长度为10,主码
tname 普通编码定长字符型,长度为10,非空
zc 普通编码定长字符型,长度为6
Salary 工作,整型)
设此表数据如下:
tid
Tname
zc
Salary
T1
A
教授
5000
T2
B
副教授
4000
T3
C
教授
5000
编写SQL语句,使查询的结果显示为如下形式:
教师号
教师名
教授工资
副教授工资
T1
A
5000
Null
T2
B
Null
4000
T3
C
5000
Null
四、实验报告
将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案进行整理、分析总结,提出实验结论或自己的看法。
1