实验三 交互式SQL:数据查询

合集下载

实验二、三:交互式SQL

实验二、三:交互式SQL

实验二:交互式SQL
1 实验目的
1.熟悉数据库的交互式SQL工具。

2.熟悉通过SQL对数据库进行操作。

3.完成作业的上机练习。

2 实验工具KingbaseES/MS SQL SERVER2000
利用KingbaseES/MS SQL SERVER2000及其交互式查询工具ISQLW来熟悉SQL。

3 实验内容和要求
1. 在KingbaseES/SERVER2000中建立一个数据库,进行实验所要求的各种操作,所有的SQL操作均在此建立的新库里进行。

2. 根据以下要求认真填写实验报告,记录所有的实验用例。

3.1 数据定义
1.熟悉基本表的创建、修改及删除。

2.熟悉索引的创建和删除。

3.熟悉视图的创建和删除。

3.2 数据操作
1.完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询)。

2.完成各类更新操作(插入数据,修改数据,删除数据)。

3.3 视图的操作
视图的定义(创建和删除),查询,更新(注意更新的条件)。

数据库实验3-SQL语言之数据查询(连接与嵌套查询)

数据库实验3-SQL语言之数据查询(连接与嵌套查询)

实验三SQL数据查询(连接与嵌套查询)姓名:学号:专业:网络工程班级:20网络工程同组人:无实验日期:一、【实验目的与要求】1、熟练掌握SELECT 语句的基本语法格式;2、熟练掌握使用SQL语句进行嵌套查询和连接查询的使用;3、熟练掌握使用SQL标准语句和T-SQL扩展语句进行连接查询。

二、【实验内容】1.实验准备与说明本实验所涉查询为连接和嵌套,针对具体的问题,需要根据查询条件和目标列,确定数据来源为单表或多表。

在有些查询中,可能会用到另外一个查询的结果作为查询数据来源,这时,只要将子查询当成一个表来看待,也可以将该子查询取一别名,使用别名作为查询操作对象。

本实验及后面实验中所用测试数据库中表的字段及含义如下表:表-1 测试数据库表的字段及含义2.连接查询2.1内连接(1).查询编号为C2002的客户购买的产品名称、购买数量和产品价格。

请给出相应语句:Use SalesDB;select Pname,Scount,Pricefrom Product,Saleswhere o='C2002'and Sales.Pno=Product.Pno;请给出运行结果:(2).查询所在城市为“厦门”的客户名称、所购产品名和对应的价格。

请给出相应语句:select Cname,Pname,Price,Cityfrom Product,Customer,Saleswhere Customer.City='厦门'and o=o and Sales.Pno=Product.Pno;请给出运行结果:(3).查询名称为“厦门人人乐”的客户编号、客户名称、购买的产品名称和数量。

请给出相应语句:select o,Cname,Pname,Scountfrom Product,Customer,Saleswhere ame='厦门人人乐'and o=o and Sales.Pno=Product.Pno;请给出运行结果:(4).查询“海尔洗衣机”的产品编号、销售日期、销售数量和销售额(销量*价格)。

数据库SQL实验报告__交互式查询(连接查询及嵌套查询)

数据库SQL实验报告__交互式查询(连接查询及嵌套查询)

《数据库管理系统SQL Server》实验报告
要求:
1.报告格式和内容要求:
a. 内容和格式整齐。

大标题采用黑体四号字加粗,小标题采用小四号字加粗。


文采用五号宋体,单倍行距。

b. 贴图时请剪裁到适当大小,要保证打印时可以看清,但也不要太大以免“越界”。

c. 不要在报告中写与实验无关的话,内容要有条理、完整、并能突出重点,要将
遇到的主要问题说明。

2.提交方式和时间:一周内完成。

可以将文件包发到我邮箱******@。

注明主题:
“交SQL作业”。

3.提交文件格式要求:
a. 将实验成果放入一个文件夹中,文件夹的内容包括:本实验报告、分离后的数
据库、如有查询代码(.sql文件)和其它文件也一并放入。

b. 文件夹以“学号姓名班级_S5”为文件名。

注意:你的学号放在姓名前。

c. 注意:所有文件保存后关闭,然后再打包成RAR文件,以免提交的内容丢失或
打不开。

4.主动查阅资料,坚持自己亲手完成实验,弄清每个步骤和相关原理。

第11页2011年4月13日星期三。

实验三 交互式SQL:数据查询

实验三  交互式SQL:数据查询

实验三交互式SQL(二):数据查询【实验目的】1.掌握SELECT语句的基本语法。

2.掌握集合函数的作用及使用方法。

3.熟悉普通连接、外连接和自身连接的概念。

4.能够熟练使用连接查询从多个表中查询数据。

5.能够熟练地使用子查询查询数据。

【实验学时】2学时【实验内容】以下题目均在STUxxxx(学生管理)数据库中完成。

一、简单查询1.查询年龄最小的前3个同学的姓名、专业和年龄2.查询XS表中所有同学的学号、姓名和总学分,结果中各列的标题分别指定为num,name和mark。

3.查询XS表中的学生数据来自哪些专业(使用DISTINCT子句消除结果集中的重复行)。

4.查询XS表中专业为“计算机”的同学的情况。

5.查询XS表中1992年出生的学生姓名和专业情况。

6.查询XS表中姓“张”或“王”或“李”且单名的学生的情况。

7.查询XS表中专业为“计算机”且总学分尚未确定的学生情况。

8.从XS表中查询学生的基本信息,要求按照总学分从高到低排序,学分相同时,按学号由低到高排序。

二、数据汇总1.求选修了“101”课程的学生的平均成绩。

2.求选修了“102”课程的学生的最高分和最低分。

3.求学号为“4102101”学生的总成绩。

4.求专业为“计算机”的学生的总人数。

5.求选修了“101”课程的学生的人数。

6.求选修了任意一门课程的学生的人数。

7.统计各个专业的学生数。

(按专业分组)8.统计各个专业的男女生人数。

格式如下:专业性别人数………………9.查找平均成绩在80分以上的学生的学号和平均成绩。

10.查找选修的课程中超过2门成绩在80分以上的学生的学号和成绩高于80分的门数。

格式如下:学号成绩高于80分的门数…………三、连接查询1.查询每个学生的基本情况及选修的课程情况,格式如下:学号姓名专业课程号成绩…………………………2.查询选修了课程号为101的每个学生的姓名及成绩。

3.查询“计算机”专业且选修了“计算机基础”课程的学生的学号、姓名及成绩。

实验三数据查询(参考答案)

实验三数据查询(参考答案)

实验三数据查询(参考答案)实验目的□学会利用T_SQL语句中SELECT进行数据查询。

□掌握利用T_SQL 语句进行数据查询的基本方法。

实验内容有以下数据表表名:tudent属性列t_idt_nmt_e某t_birtht_coret_datet_fromt_dpidt_mnt使用T-SQL语句进行数据查询(注:学生班级为学号的前6位)1.显示所有学生的学号、姓名、性别、入学年份和班级(学号前6位)。

Selectt_id学号,t_nm姓名,t_e某性别,year(t_date)入学年份,left(t_id,6)班级Fromtudent2.显示前25%条学生记录信息。

Selecttop25percent某fromtudent3.查询tudent表中2022年及以后入学的学生信息。

Select某fromtudentwhereyear(t_date)>=20224.查询选修了1002号课程且成绩在60以下的学生学号。

Selecttudent.t_idfromtudentjoinlt_coueontudent.t_id=lt_coue. t_idWherec_id='1002'andcore<605.查询所有由三个字组成的“王”姓学生信息。

Select某fromtudentwheret_nmlike'王__'6.查询选修了1001号课程且成绩在60到80之间的学生选课信息。

Select某fromlt_couewherec_id='1001'andcorebetween60and807.查询所有张,王,李,赵姓的学生的学号、姓名、性别。

Selectt_id,t_nm,t_e某fromtudentwheret_nmlike'[张王李赵]%'8.查询陕西籍学生,将结果保存在新表t_han某i。

Select某intot_han某ifromtudentwheret_fromlike'%陕西%'9.查询选修了“数据结构”课程的学生学号、姓名及课程成绩。

实验三 数据库中的数据查询及视图操作实验报告

实验三  数据库中的数据查询及视图操作实验报告

实验三数据库中的数据查询及视图操作实验报告实验三数据库中的数据查询及视图操作实验报告一、实验目的本实验的主要目的是熟悉数据库中的数据查询和视图操作。

通过本实验,我们可以掌握使用SQL语句进行数据查询和创建视图的方法,进一步提高对数据库的操作能力。

二、实验环境本实验使用MySQL数据库管理系统,并在Windows操作系统下进行实验。

三、实验内容本实验主要包括以下内容:1. 数据查询:使用SELECT语句查询数据库中的数据,并进行排序、过滤和聚合操作。

2. 视图操作:创建和删除视图,以及对视图进行查询和更新操作。

四、实验步骤与结果1. 数据查询首先,我们需要连接到数据库,并选择要查询的表。

假设我们选择的表名为"students",包含以下字段:学号、姓名、性别、年龄、班级。

a. 查询所有学生的信息:```sqlSELECT * FROM students;```执行以上SQL语句后,我们可以得到所有学生的信息,包括学号、姓名、性别、年龄和班级。

b. 查询男生的信息:```sqlSELECT * FROM students WHERE 性别 = '男';```执行以上SQL语句后,我们可以得到所有性别为男的学生的信息。

c. 查询年龄小于20岁的学生的姓名和班级:```sqlSELECT 姓名, 班级 FROM students WHERE 年龄 < 20;```执行以上SQL语句后,我们可以得到年龄小于20岁的学生的姓名和班级。

d. 查询学生按照年龄降序排列的结果:```sqlSELECT * FROM students ORDER BY 年龄 DESC;```执行以上SQL语句后,我们可以得到按照年龄降序排列的学生信息。

e. 查询学生按照班级分组,并统计每个班级的人数:```sqlSELECT 班级, COUNT(*) AS 人数 FROM students GROUP BY 班级;```执行以上SQL语句后,我们可以得到每个班级的人数统计结果。

数据库SQL实验报告__SQL交互式查询(单表查询)

数据库SQL实验报告__SQL交互式查询(单表查询)

实验3 SQL交互式查询(单表查询)实验日期和时间:实验室:班级:学号:姓名:实验环境:1.硬件:计算机2.软件:windows 7 & SQL 2000实验主要任务:在实验1中建立的学生选课数据库中,用SQL语句完成下列查询任务1.在学生表中查询姓名为“张晶晶”学生的记录。

2.查询“会计系”全体女同学的记录,列出学号、姓名、年龄。

3.查询非“金融系”且年龄小于等于20岁的学生记录,列出学号、姓名、系编号。

4.查询所有2009级(学号以2009 开头)的学生的成绩,列出学号、课程号、成绩,查询结果按课程号排序。

5.查询所有低于60 分的学生成绩记录,列出学号、课程号、成绩,结果按课程号、学号排序列表。

6.查询选修了1 号课程并且成绩大于等于90分的学生记录,列出学号、成绩,并按成绩降序排序。

7.查询超过2 学分(大于)的课程记录。

8.查询学生表中所有1993年出生的学生的记录,按出生日期排序。

9.统计全体学生的总人数。

10.统计各系的学生人数,列出所在系、人数。

11.统计各门课的平均分,列出课程号、平均分。

12.查询选修人数不足5 人的课程,列出课程号、人数。

查询1:在学生表中查询姓名为“张晶晶”学生的记录。

代码:select * from 学生 where 姓名='张晶晶'执行结果:说明:查询的姓名有改动查询2:查询“会计系”全体女同学的记录,列出学号、姓名、年龄。

代码:select * from 学生,系where 系名='会计' and 系.系编号=学生.系编号执行结果:说明:查询3:查询非“金融系”且年龄小于等于21岁的学生记录,列出学号、姓名、系编号、系名。

代码:select 学号,姓名,学生.系编号,系名from 学生,系where 系名<>'金融' and 系.系编号=学生.系编号and year(getdate())-year(出生日期)<21执行结果:说明:改成21岁,添加了系名显示查询4:查询所有2009级(学号以2009 开头)的学生的成绩,列出学号、课程号、成绩,查询结果按课程号排序代码:select 学号,课程号,成绩from 选课where 学号like '2009%'order by 课程号执行结果:说明:查询5:查询所有低于80 分的学生成绩记录,列出学号、课程号、成绩,结果按课程号、学号排序列表代码:select 学号,课程号,成绩from 选课where 成绩<80order by 课程号,学号执行结果:说明:低于60分改成了低于80分查询6:查询选修了0001 号课程并且成绩大于等于90分的学生记录,列出学号、成绩、课程号,并按成绩降序排序代码:select 学号,成绩,课程号from 选课where 成绩>90 and 课程号='0001'order by 成绩DESC执行结果:说明:1号课程改成了课程号0001,显示时候加了属性课程号查询7:查询超过4 学分(大于)的课程记录代码:select * from 课程where 学分>4执行结果:说明:超过2学分改成了超过4学分查询8:查询学生表中所有1990年出生的学生的记录,按出生日期排序代码:select * from 学生where year(出生日期)=1990order by 出生日期执行结果:说明:查询1993年出生改成了1990查询9:统计全体学生的总人数代码:select count(学号) as 总人数from 学生执行结果:说明:查询10:统计各系的学生人数,列出所在系、人数代码:select 系名,sum(选课人数) as 人数from 系, 授课,课程where 系.系编号=课程.系编号and 课程.课程号=授课.课程号group by 系名执行结果:说明:查询11:统计各门课的平均分,列出课程号、平均分代码:select 课程号,avg(成绩) as 平均分from 选课group by 课程号执行结果:说明:查询12:查询选修人数不足100人的课程,列出课程号、人数代码:select 课程号,选课人数as 人数from 授课where 选课人数<100执行结果:说明:不足5人改成了不足100人你在完成查询任务1-12的过程中遇到的问题及解决的方法有:实验10:代码:select 系名,sum(选课人数) as 人数from 系, 授课,课程where 系.系编号=课程.系编号and 课程.课程号=授课.课程号group by 系.系编号结果:解决办法:把group by 后面的系.系编号给成系名疑问?为什么货出现这样的结果啊?请老师解答本次实验涉及到的基本原理:(语法)select 对表的查询;表的连接;给数据分组;给数据排序;小结:一个标点符号都会造成错误,需要注意细节1.报告格式和内容要求:a. 内容和格式整齐。

实验三SQL(二)SQL语言进行简单查询实验报告范文

实验三SQL(二)SQL语言进行简单查询实验报告范文

实验三SQL(二)SQL语言进行简单查询实验报告范文实验目的:1.掌握SQL查询语句的一般格式2.掌握简单数据查询操作。

3.熟练掌握各种查询条件的表示。

4.掌握排序和分组操作在SQL语句中的实现。

5.掌握集函数的使用。

实验内容;1.创建学生表tudent、课程表coure和选课表SC,并输入数据(注意数据的完整性。

);(可以使用实验一中已经建立的表和数据)2.对各表中的数据进行不同条件的查询;1)查询全体学生的学号和姓名2)3)4)5)6)7)8)9)查询全体学生的详细记录查询所有选修过课程的学生学号查询考试有不及格的学生学号查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别查询选修了4号课的学生学号和成绩,结果按成绩降序排列查询每个课程号和相应的选课人数查询计算机系(CS)的学生姓名、年龄、系别查询年龄18-20岁的学生学号、姓名、系别、年龄;10)查询姓刘的学生情况11)查询既选修1号课程,又选修2号课程的学生学号12)查询学生的姓名和出生年份(今年2003年)13)查询没有成绩的学生学号和课程号14)查询总成绩大于200分的学生学号15)查询每门课程不及格学生人数16)查询不及格课程超过3门的学生学号17)查询年龄在10到19岁之间的学生信息18)查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列19)查询选了1号课程的学生平均成绩20)查询选了3号课程的学生的最高分21)查询每个同学的总成绩实验步骤与过程:1.创建学生表tudent、课程表coure和选课表SC,使用实验一中已经建立的表和数据。

2.并输入数据,设置主键。

3.建立索引及三表之间关系。

4.按照SQL语句格式及题目要求输入语句进行以下查询:1、查询全体学生的学号和姓名;2、查询全体学生的详细记录;3、查询所有选修过课程的学生学号;4、查询考试有不及格的学生学号;5、查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别;6、查询选修了4号课的学生学号和成绩,结果按成绩降序排列;7、查询每个课程号和相应的选课人数;8、查询计算机系(CS)的学生姓名、年龄、系别;9、查询年龄18-20岁的学生学号、姓名、系别、年龄;10、查询姓刘的学生情况;11、查询既选修1号课程,又选修2号课程的学生学号;12、查询学生的姓名和出生年份(今年2003年);13、查询没有成绩的学生学号和课程号;14、查询总成绩大于200分的学生学号;15、查询每门课程不及格学生人数;16、查询不及格课程超过3门的学生学号;17、查询年龄在10到19岁之间的学生信息;18、查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列;19、查询选了1号课程的学生平均成绩;20、查询选了3号课程的学生的最高分;21、查询每个同学的总成绩实验结果:利用实验一中所建立的表设置主键,建立索引及三表之间关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三交互式SQL(二):数据查询
【实验目的】
1.掌握SELECT语句的基本语法。

2.掌握集合函数的作用及使用方法。

3.熟悉普通连接、外连接和自身连接的概念。

4.能够熟练使用连接查询从多个表中查询数据。

5.能够熟练地使用子查询查询数据。

【实验学时】
2学时
【实验内容】
以下题目均在STUxxxx(学生管理)数据库中完成。

一、简单查询
1.查询年龄最小的前3个同学的姓名、专业和年龄
2.查询XS表中所有同学的学号、姓名和总学分,结果中各列的标题分别指定为num,name
和mark。

3.查询XS表中的学生数据来自哪些专业(使用DISTINCT子句消除结果集中的重复行)。

4.查询XS表中专业为“计算机”的同学的情况。

5.查询XS表中1992年出生的学生姓名和专业情况。

6.查询XS表中姓“张”或“王”或“李”且单名的学生的情况。

7.查询XS表中专业为“计算机”且总学分尚未确定的学生情况。

8.从XS表中查询学生的基本信息,要求按照总学分从高到低排序,学分相同时,按学号
由低到高排序。

二、数据汇总
1.求选修了“101”课程的学生的平均成绩。

2.求选修了“102”课程的学生的最高分和最低分。

3.求学号为“4102101”学生的总成绩。

4.求专业为“计算机”的学生的总人数。

5.求选修了“101”课程的学生的人数。

6.求选修了任意一门课程的学生的人数。

7.统计各个专业的学生数。

(按专业分组)
8.统计各个专业的男女生人数。

格式如下:
专业性别人数
………………
9.查找平均成绩在80分以上的学生的学号和平均成绩。

10.查找选修的课程中超过2门成绩在80分以上的学生的学号和成绩高于80分的门数。

格式如下:
学号成绩高于80分的门数
…………
三、连接查询
1.查询每个学生的基本情况及选修的课程情况,格式如下:
学号姓名专业课程号成绩
…………………………
2.查询选修了课程号为101的每个学生的姓名及成绩。

3.查询“计算机”专业且选修了“计算机基础”课程的学生的学号、姓名及成绩。

4.查询选修了课程号为101的每个学生的基本情况及成绩,若学生未选修101号课程,
也包括其情况。

5.查询生日相同的学生的姓名和出生日期。

格式如下
姓名1 姓名2 出生日期
………………
其中:“姓名1”和“姓名2”中的姓名不能相同。

6.显示每门课程的平均成绩并显示总平均成绩。

格式如下:
课程名平均成绩
…………
(总平均)……
7.查询各个专业各门课程的平均成绩。

格式如下
专业课程名平均成绩
………………
8.查询“计算机”专业平均成绩在85分以上的学生的学号、姓名和平均成绩。

四、子查询的使用
1.查询平均成绩高于101号课程平均分的课程号及平均成绩。

2.查找比所有计算机专业的学生年龄都大的学生的情况。

3.查找未选修“C语言”课程的学生的情况。

4.查询每个专业年龄最小的学生的基本信息。

5.查询“计算机基础”成绩高于“计算机基础”平均分的学生的学号,姓名和成绩,并
按“计算机基础”成绩从高到低排序。

6.查询选修全部课程的学生的基本信息。

7.查询至少选修了“4102102”同学选修课程的学生的基本信息。

【实验内容】
1.总结一下SELECT语句的基本语法以及你自己的理解。

_数据库实验三课程实验报告
实验名称:。

相关文档
最新文档