数据库实验数据查询.docx
- 文档编号:27600911
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:15
- 大小:520.07KB
数据库实验数据查询.docx
《数据库实验数据查询.docx》由会员分享,可在线阅读,更多相关《数据库实验数据查询.docx(15页珍藏版)》请在冰豆网上搜索。
数据库实验数据查询
内容一简单SELECT语句
一.实验目的
1.观察查询结果,体会SELECT语句实际应用;
2.要求学生能够在查询分析器中使用SELECT语句进行简单查询。
3.熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
二.实验内容
1.简单查询操作
对EDUC数据库实现以下查询:
(1)求计算机系的学生学号和姓名
(2)求选修了课程的学生学号;
(3)求选修C1课程的学生学号和成绩,并要求对查询结果按成绩降序序排列,如果成绩相同则按学号的升序排列;
(4)求选修课程C1且成绩在80-90之间的学生学号和成绩,并将成绩乘以系数0.75输出;
(5)求计算机系和数学系的姓张的学生的信息
(6)求缺少了成绩的学生的学号和课程号。
(7)将2000以后的成绩大于90分的学生成绩存入永久成绩表;将2000年以前的成绩存入临时成绩表中
2.连接查询操作
(1)查询每个学生的情况以及他(她)所选修的课程;
(2)求学生的学号、姓名、选修的课程名及成绩;
(3)求选修C1课程且成绩在90分以上的学生学号、姓名及成绩;
(4)查询每一门课的间接先行课。
三.实验步骤(详细)
1.简单查询操作
此部分查询包括投影、选择条件表达、数据排序、使用临时表等。
1求计算机系的学生学号和姓名;
SELECTsno,sname
FROMstudent
WHEREdno=’计算机’
1求选修了课程的学生学号;
代码:
SELECTDISTINCTsno
FROMstudent_course
③求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序
排列,如果成绩相同则按学号的升序排列;
④求选修课程C1且成绩在80-90之间的学生学号和成绩,并将成绩
乘以系数0.75输出;
⑤求计算机系和数学系的姓张的学生的信息
⑥求缺少了成绩的学生的学号和课程号。
⑦将2000以后的成绩大于90分的学生成绩存入永久成绩表;将2000年以前的成绩存入临时成绩表中。
2.连接查询操作
对EDUC数据库实现以下查询:
1查询每个学生的情况以及他(她)所选修的课程;
2求生的学号、姓名、选修的课程名及成绩;
3选修C1课程且成绩在90分以上的学生学号、姓名及成绩;
4询每一门课的间接先行课。
内容二子查询
一.实验目的
1.掌握子查询的表示。
2.进一步掌握SQLServer查询分析器的使用方法,加深对SQL
询语句的理解
二.实验内容
1.在数据库EDUC中实现一下查询:
1)求选修了高等数学的学生学号和姓名;
2)求C1课程的成绩高于张三的学生学号和成绩;
3)求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生);
4)求其他系中比计算机系学生年龄都小的学生信息;
5)求选修了C2课程的学生姓名;
6)求没有选修C2课程的学生姓名;
7)查询选修了全部课程的学生的姓名;
8)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名
2.提高操作实验
建立“工程-零件”数据库及如下4个表,并输入实验数据,用SQL语句实
现如下三个查询
1)求供应项目j4红色零件的供应商号及名称
2)求没有上海供应商生成的零件的项目号
3)至少使用了供应商S5所供应全部零件的项目号。
要求:
①应商表:
供应商代码为主码②工程表:
工程代码为主码③零件表:
零件代码为主码④供应零件表:
供应商代码、工程代码、零件代码为联合主码;供应商代码为外码,参照表、列是供应商表的供应商代码列;工程代码为外码,参照表、列是工程表的工程代码列;零件代码为外码,参照表、列是零件表的零件代码列
三.实验步骤(详细)
1.在数据库EDUC中实现一下查询:
1)求选修了高等数学的学生学号和姓名;
2)求C1课程的成绩高于张三的学生学号和成绩;
3)求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生);
4)求其他系中比计算机系学生年龄都小的学生信息;
5)求选修了C2课程的学生姓名;
6)求没有选修C2课程的学生姓名;
7)查询选修了全部课程的学生的姓名;
8)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。
2.步骤1:
按照实验四的方法建立数据库“工程_零件”,建立表“S”“J”“P”“SJP”
步骤2:
右键点击表“S”选择“打开表”,填入供应商信息同理将信息填入表“J”“P“SPJ”
3.提高操作实验:
1)求供应项目j4红色零件的供应商号及名称
代码:
SELECT供应商代码,姓名
FROMS
WHERE供应商代码IN(
SELECT供应商代码
FROMSPJ
WHERE工程代码=’J4’AND零件代码IN(
SELECT零件代码
FROMP
WHERE零件颜色=‘红色‘);
2)求没有上海供应商生成的零件的项目号
代码:
SELECT工程代码
FROMS,SPJ
WHERENOTEXISTS(SELECT*
FROMSPJ
WHERES.供应商代码=SPJ.供应商代码AND所在城市=’上海');
3)至少使用了供应商S5所供应全部零件的项目号。
内容三使用子句的SELECT语句
一.实验目的
1.熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
2.进一步掌握SQLServer查询分析器的使用,加深对SQL询语句的理解。
二.实验内容
1.在数据库EDUC中实现如下查询
1)求学生的总人数。
2)求选修了课程的学生人数。
3)求课程的课程号和选修该课程的人数。
4)求选修课超过3门课的学生学号
2.提高操作实验
建立“图书_读者”数据库及如下3个表,并输入实验数据,用SQL语句
实现如下五个查询:
1)查找这样的图书类别:
要求类别中最高的图书定价不低于全部按类别分组的图书的平均定价的2倍。
2)求机械工业出版社出版的各类图书的平均定价,分别用GROUPBY和GROUPBYALL表示。
3)列出计算机类图书的书号、名称及价格,最后求出册数和总价格。
4)列出计算机类图书的书号、名称及价格,并求出各出版社这类书的总价格,最后求出全部册书和总价格。
5)查询计算机类和机械工业出版社出版的图书。
要求:
①图书表:
书号为主码②读者表:
编号为主码性别只能是“男”或“女”的CHECK约束③借阅表:
串号为主码;书号为外码,参照表、列是图书表的书号列;读者编号为外码,参照表、列是读者表的编号列;书号和读者编号的联合UNIQUE约束
三.实验步骤(详细)
●实验指导——使用子句的SELECT语句
要求:
1书表:
书号为主码
2者表:
编号为主码;性别只能是“男”或“女”的CHECK约束
步骤1:
右键点击性别“CHECK约束”
步骤2:
“添加”-在表达式栏目中填入“性别in('男','女')”
③借阅表:
1串号为主码;2书号为外码,参照表、列是图书表的书号列;
步骤1:
右键点击“书号”,选择“关系”
步骤2:
点击“添加”,将选择外键为“书号”
3读者编号为外码,参照表、列是读者表的编号列;
4书号和读者编号的联合UNIQUE约束
步骤1:
选中“书号”和“读者编号”右键点击“索引/键”
步骤2:
将唯一性改为“是”,关闭并保存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库实验 数据查询 数据库 实验 数据 查询