本段SQL脚本为实验2的解答文件,内含执行查询操作的核心代码,旨在通过Structured Query Language进行数据检索、更新和管理。
SQL查询实验学时:2 实验类型:验证性 必修
一、实验目的:
通过本实验使学生掌握单表查询并初步掌握多表查询的技能。
二、实验内容:
使用之前建立的银行贷款数据库和表格,完成以下查询。第1-10题为单表查询,第11-25题为多表查询。
1. 查询所有法人的法人代码、法人名称、经济性质及注册资金信息。
2. 查找“B1100”银行的银行名称和电话号码。
3. 获取贷款金额在2000至4000万元之间的法人代码、银行代码、贷款日期与贷款金额。
4. 查询自2009年1月1日以后获得且期限为十年的所有法人的法人代码。
5. 列出所有贷款期限为五年,十年或十五年的详细信息。
6. 统计经济性质为“私营”的法人的最高注册资金、最低注册资金及平均注册资金。
7. 汇总每种经济类型的法人在最高和最低注册资本以及平均资本方面的数据,并按类别列出。
8. 计算每个法人贷款的次数,结果按照贷款频率从低到高排列显示。
9. 获取贷款超过三次以上的法人的平均贷款金额及借款数目。
10. 统计各类别企业中企业的数量及其平均贷款额,并将前三名的企业类型、企业和相应的均值输出出来。
11. 查询所有期限为五年,十年或十五年的法人名称、银行名称以及日期和金额信息。
12. 对于经济性质为“国营”的法人在上海的贷款情况查询其详细信息,列出企业名称、银行及借款时间等细节。
13. 与B1100银行位于同一城市的其他所有银行的信息检索并显示它们的名字。
14. 列出没有发放过任何贷款的银行及其编号。此任务需要采用多表连接和子查询两种方法完成。
15. 将所有获得过借款的企业名称、所借资金来源,时间及金额信息存储到一个新永久表格New_LoanT中,并设置相应的列名。
16. 分别检索经济性质为“国营”与“私营”的企业详细贷款情况并合并成单一查询结果集。该结果显示的顺序应首先按照借款日期升序排列然后按借款额降序排序。
17. 查询计算机系未选课的学生姓名和年龄信息。
18. 统计‘VB’课程的成绩最高分、最低分及平均成绩数据。
19. 获取“数据库”课程的选择人数统计结果。
20. 计算出所有选择过“vb”科目的学生中该科目考试的分数统计数据,包括最高的、最低的和平均成绩值。
21. 统计每个系内‘vb’课程的成绩最高分、最低分及平均成绩,并列出各系名及其对应的三个数据结果。
22. 计算出每位学生的总学分数。如果超过或等于10,则标记为“好学生”;6-9之间则标注为“一般学生”,低于六分为“不好学生”
23. 统计每个专业内所有选课的课程数量和平均成绩,根据特定标准进行评价分类。
24. 找出计算机系考试分数最低的学生姓名、科目名称及其得分情况
25. 列出未选择任何科目的学生的学号及所在院系信息
三、思考题:
1. 创建一个教师表(tid, tname, zc),其中主键为tid,tname和zc都不能为空。当数据如下时编写SQL语句来满足以下查询需求。
2. 在同样的条件下创建一个新的表格并添加一列“Salary”,然后根据给定的数据写出相应的SQL指令以达到如下的输出。
四、实验报告:
将所有实验结果反映在最终的报告中,同时记录和分析在此过程中遇到的问题及解决方案,并提出自己的结论或见解。