实验三 交互式SQL:数据查询
实验二、三:交互式SQL
![实验二、三:交互式SQL](https://img.taocdn.com/s3/m/d9cb7929cfc789eb172dc8ca.png)
实验二:交互式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语言之数据查询(连接与嵌套查询)](https://img.taocdn.com/s3/m/03deaa51a66e58fafab069dc5022aaea998f4124.png)
实验三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实验报告__交互式查询(连接查询及嵌套查询)](https://img.taocdn.com/s3/m/51101af14693daef5ef73db8.png)
《数据库管理系统SQL Server》实验报告
要求:
1.报告格式和内容要求:
a. 内容和格式整齐。
大标题采用黑体四号字加粗,小标题采用小四号字加粗。
正
文采用五号宋体,单倍行距。
b. 贴图时请剪裁到适当大小,要保证打印时可以看清,但也不要太大以免“越界”。
c. 不要在报告中写与实验无关的话,内容要有条理、完整、并能突出重点,要将
遇到的主要问题说明。
2.提交方式和时间:一周内完成。
可以将文件包发到我邮箱******@。
注明主题:
“交SQL作业”。
3.提交文件格式要求:
a. 将实验成果放入一个文件夹中,文件夹的内容包括:本实验报告、分离后的数
据库、如有查询代码(.sql文件)和其它文件也一并放入。
b. 文件夹以“学号姓名班级_S5”为文件名。
注意:你的学号放在姓名前。
c. 注意:所有文件保存后关闭,然后再打包成RAR文件,以免提交的内容丢失或
打不开。
4.主动查阅资料,坚持自己亲手完成实验,弄清每个步骤和相关原理。
第11页2011年4月13日星期三。
实验三 交互式SQL:数据查询
![实验三 交互式SQL:数据查询](https://img.taocdn.com/s3/m/4982196c25c52cc58ad6be00.png)
实验三交互式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.查询“计算机”专业且选修了“计算机基础”课程的学生的学号、姓名及成绩。
实验三数据查询(参考答案)
![实验三数据查询(参考答案)](https://img.taocdn.com/s3/m/41b2ed6ea55177232f60ddccda38376baf1fe0f0.png)
实验三数据查询(参考答案)实验目的□学会利用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.查询选修了“数据结构”课程的学生学号、姓名及课程成绩。
实验三 数据库中的数据查询及视图操作实验报告
![实验三 数据库中的数据查询及视图操作实验报告](https://img.taocdn.com/s3/m/f835b3194a35eefdc8d376eeaeaad1f347931171.png)
实验三数据库中的数据查询及视图操作实验报告实验三数据库中的数据查询及视图操作实验报告一、实验目的本实验的主要目的是熟悉数据库中的数据查询和视图操作。
通过本实验,我们可以掌握使用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交互式查询(单表查询)](https://img.taocdn.com/s3/m/5d9e93f9770bf78a652954b8.png)
实验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语言进行简单查询实验报告范文](https://img.taocdn.com/s3/m/b81d8827e3bd960590c69ec3d5bbfd0a7956d5ad.png)
实验三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、查询每个同学的总成绩实验结果:利用实验一中所建立的表设置主键,建立索引及三表之间关系。
实验3-SQL语言查询操作
![实验3-SQL语言查询操作](https://img.taocdn.com/s3/m/5d6806f74693daef5ef73dc2.png)
实验3:SQL语言操作一、实验目的:1.熟悉SQL语言的基本语法和规则2.了解CREATE、DROP语句的使用。
3.掌握INSERT、UPDA TE、DELETE语言的基本语法和规则4.掌握在查询分析器或企业管理器中执行INSERT、UPDATE、DELETE操作的方法5.掌握SQL语言函数、程序控制语句的使用二、基本原理:SQL语言的基本语法规则和相关SQL程序结构控制语法理论。
三、实验仪器设备:1.硬件:PC台/人(内存:256M以上,cpu:P4)2.软件:SQL Server2000四、实验内容:1.用Create创建表名为class和student,2.利用select和Insert语句向表中插入记录3.利用UPDATE语句更新class和student记录4.利用DELETE删除class表中的记录5.利用DROP语句删除表6.依据SQL语法,编写SQL程序执行数据库相关操作。
五、实验步骤:1).在企业管理器中用Create创建数据库或表,名为student和class,并用ALTER修改数据库和表。
建立一个名为test的数据库,可以输入如下的SQL语句:CREATE DATABASE test例如,要创建一个销售数据库,并设定数据文件为d:\销售.LDF,大小为5MB,最大为20MB,每次增长5MB。
事务日志文件为d:\ 销售.LDF,大小为5MB,最大为10MB,每次增长为1MB。
则创建的SQL语句为:CREATE DATABASE【TABLE】销售数据库ON (NAME = 销售数据,FILENAME = 'd:\Program Files\Microsoft SQL Server\MSSQL\data\销售数据.MDF',SIZE = 10MB,MAXSIZE = 50MB,FILEGROWTH = 10MB)LOG ON(NAME = 销售数据日志,FILENAME = 'd:\Program Files\Microsoft SQL Server\MSSQL\data\销售数据日志.LDF',SIZE = 10MB,MAXSIZE = 20MB,FILEGROWTH = 5MB)2)例如,为销售数据库新增一个逻辑名为“销售数据2”的数据文件,其大小及其最大值分别为10MB和50MB。
实验三数据库SQL基本表查询
![实验三数据库SQL基本表查询](https://img.taocdn.com/s3/m/7284296dec630b1c59eef8c75fbfc77da26997e1.png)
实验三数据库SQL基本表查询数据库原理及应用实验报告实验三SQL 基本表查询实验报告实验类型__综合设计__实验室_软件实验室一__SQL基本表查询1.实验项目的目的和任务:熟练掌握查询语句的一般格式,熟练掌握连接、嵌套和集合查询的使用。
2.程序代码(部分)select * from student where s# in( select s# from sc where c#!='c2') //查询没有选修了2号课程的学生名单select s#,avg(grade) from sc group by s#;//查询每个学生的平均成绩select c#,avg(grade) from sc group by c#;//查询每门课的平均成绩select * from student where s# in(select s# from sc where c#='c2') //嵌套查询select sname from student wherenot exists(select * from c wherenot exists(select * from sc where s#=student.s# and c#=c.c#))// 查询选修了全部课程的学生姓名3运行结果如图所示4实验总结通过具体的上机实践操作,掌握了SQL基本表查询。
(1)确定集合(利用“IN”操作可以查询属性值属于指定集合的元组。
利用“NOT IN”可以查询指定集合外的元组。
(2)GROUP BY 子句可以将查询结果按属性列或属性列组合在行的方向上进行分组,每组在属性列或属性列组合上具有相同的值。
(3)在where子句中包含一个形如select-from-where的查询块,此查询块称为子查询或嵌套查询,包含子查询的语句称为父查询或外部查询。
嵌套查询可以将一系列简单查询构成复杂查询,增强查询能力。
实验3 数据查询
![实验3 数据查询](https://img.taocdn.com/s3/m/0a15f646a7c30c22590102020740be1e650ecc1e.png)
实验3 数据查询数据查询是数据库的核心操作。
在本实验中,我们学习如何使用SELELCT 查询语句实现单表查询、连接查询、嵌套查询、集合查询及相关操作。
实验3.1 单表查询【实验目的】●熟悉SELECT查询语句各个子句的功能。
●掌握使用SELECT查询语句实现单表查询。
【实验内容】●使用SELECT查询语句对学生管理数据库SCT中三张表(Student、Course、SC)进行单表查询。
●对照教材“3.4.1单表查询”中的例题进行练习。
●Into子句的使用。
【实验步骤】(1)编写SQL语句:SSMS→单击工具栏上的“新建查询”按钮→录入SQL语句。
(2)测试SQL语句:单击工具栏上的“分析”按钮或按<Crtl+F5>组合键对当前SQL语句进行测试,如果语句无误,代码区下方会显示“命令已成功完成”,否则显示错误提示信息。
(3)执行SQL语句:单击工具栏上的“执行”按钮或直接按<F5>键即可执行当前SQL语句,并看到执行结果。
(4)对照教材“3.4.1单表查询”中的例题进行练习,从而熟悉SELECT语句各子句的功能。
示例3.1:查询计算机科学系年龄在20岁以下的学生姓名,见图3.1。
示例3.2:查询平均成绩大于等于90分的学生学号和平均成绩,见图3.2。
图3.1 示例3.1执行结果图3.2 示例3.2执行结果(5)Into子句的使用:在SELECT查询语句中使用into子句,可以把查询结果存放到一个新建立的表中。
示例3.3:利用学生表的数据生成一张女生表gilestudent,见图3.3,之后可在“对象资源管理器”窗格中查看新建的gilestudent表。
图3.3 示例3.3执行结果实验3.2 连接查询连接查询可以使用两种语法形式,一种是在from子句中写出所要连接的表名,而连接条件写在where子句中,从而实现表的连接;另一种是ANSI连接形式,即在from子句中使用join…on关键字,连接条件写在on之后,从而实现表的连接。
实验三SQL的数据查询
![实验三SQL的数据查询](https://img.taocdn.com/s3/m/593218dd915f804d2a16c1e3.png)
实验三、SQL的数据查询1、实验目的熟悉SQL语句的数据查询语言,能够SQL语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。
2、实验内容实验内容主要是对数据库进行查询操作,包括如下四类查询方式:(1)单表查询●查询的目标表达式为所有列、指定的列或指定的列的运算三种不同.●使用DISTINCT保留字消除重复行。
●对查询结果排序和分组。
●集合分组使用集函数进行各项统计.(2)连接查询●笛卡儿连接和等值连接。
●自连接.●外连接●复合条件连接。
●多表连接。
(3)嵌套查询●通过实验验证对子查询的两个限制条件.●体会相关子查询和不相关子查询的不同.●考察四类谓词的用法,包括:第一类,IN、NOT IN;第二类,带有比较运算符的子查询;第三类,SOME、ANY或ALL谓词的子查询,查询最大值和最小值;第四类,带有EXISTS谓词的子查询,实现“所有”等情况(如王宏的“所有”课程,“所有”女生选修的课程)(4)集合运算●使用保留字UNION进行集合或运算。
●采用逻辑运算符AND或OR来实现集合交和减运算.3、实验步骤以University_Mis数据库为例,该数据库中有四张如实验一,其中Score是每门课的考试成绩,Scredit是学生所有考试合格课程所获得的积分总数,Ccredit每门课程的学分数。
在数据库中,存在这样的联系:学生可以选择课程,一个课程对应一个教师.在表Reports 中保存学生的选课记录和考试成绩.请先输入如下元组,再对数据库进行有关的查询操作:图1.1、Students表图1.2、Teachers表图1。
3、Courses表图1.4、Reports表(1)查询性别为“男"的所有学生的名称并按学号升序排列。
SELECT wjy_SnameFROM Wangjy_StudentsWHERE wjy_Ssex='男’ORDER BY wjy_Sno(2)查询学生的选课成绩合格的课程成绩,并把成绩换算为积分。
数据库实验3-SQL语言之数据查询(简单查询)
![数据库实验3-SQL语言之数据查询(简单查询)](https://img.taocdn.com/s3/m/c561990ebf1e650e52ea551810a6f524ccbfcbe3.png)
实验三SQL数据查询(简单查询)姓名:学号:专业:网络工程班级:20网络工程同组人:无实验日期:【实验目的与要求】1、熟练掌握SELECT 语句的基本语法格式;2、熟练掌握使用SQL语句进行单表查询,掌握GROUP BY子句、HA VING 子句和集函数;3、熟练掌握使用SQL标准语句和T-SQL扩展语句进行连接查询。
【实验内容】3.0. 实验准备与说明本实验将用到实验二中数据库SalesDB和相应的表及数据,若该数据库及表尚未创建,或数据尚未录入,则请先完成之。
请根据前面实验创建的表结构和数据,完成如下查询。
本实验及后面实验中所用测试数据库中表的字段及含义如下表:表-1 测试数据库表的字段及含义3.1.简单查询(1).查询各种产品的产品编号、产品名称和价格。
请给出相应语句:USE SalesDB;SELECT Pno,Pname,Price FROM Product;请给出运行结果:(2).查询所在城市为“厦门”的客户编号和客户名称,结果中各列的标题分别指定为:“客户编号”和“客户名称”显示。
请给出相应语句:SELECT Cno as客户编号,Cname as客户名称FROM Customer WHERE City='厦门';请给出运行结果:(3).查询各产品编号、名称、库存量和产品总值。
(总值:价格与库存数量的积)请给出相应语句:SELECT Pno,Pname,Price ,Stocks FROM Product;SELECT SUM(Price*Stocks)as产品总值FROM Product;请给出运行结果:(4).查询曾购买过产品的客户编号(不重复)。
请给出相应语句:SELECT Cno FROM Customer;请给出运行结果:(5).查询价格在1000-2000的产品信息,并依价格由低到高的顺序排序。
(请使用Between…and和算术比较运算符分别实现)a.使用Between…and比较实现:请给出相应语句:use SalesDB;select*from Productwhere Price between 1000 and 2000order by Price;请给出运行结果:b.使用算术比较实现:请给出相应语句:use SalesDB;select*from Productwhere Price >= 1000 and Price<=2000order by Price;请给出运行结果:(6).查询产品名称含有“热水器”的产品信息。
实验三交互式SQL语句(6学时)
![实验三交互式SQL语句(6学时)](https://img.taocdn.com/s3/m/c257092eb4daa58da0114a70.png)
2.2 数据库管理系统: 数据库管理系统: SQL SERVER2000个人版 个人版
3、实验内容及要求 、
3.1 查询操作
根据上课时所讲的查询(课本P87-103所示的所有 根据上课时所讲的查询(课本 所示的所有 实例), ),完成各类查询操作 实例),完成各类查询操作
实验内容及要求( 实验内容及要求(续)
3.2 更新操作
根据上课时所讲的更新操作(课本 根据上课时所讲的更新操作(课本P103-106所示的所 所示的所 有实例),完成各类更新操作(插入数据,修改数据, ),完成各类更新操作 有实例),完成各类更新操作(插入数据,修改数据, 删除数据) 删除数据)
交互式SQL语句 学时 语句(6学时 实验三 交互式 语句 学时)
Hale Waihona Puke 、实验目的 、熟悉数据库的交互式SQL工具 工具 熟悉数据库的交互式 熟悉通过SQL对数据库进行操作 对数据库进行操作 熟悉通过 完成作业的上机练习
2、实验平台 、
2.1 操作系统: 操作系统:
Windows 2000或者 或者Windows XP 或者
4、实验报告 、
包括以下几部分内容: 包括以下几部分内容:
题目、姓名、日期、实验环境、 题目、姓名、日期、实验环境、实验内容与完成 情况、出现的问题、解决方案( 情况、出现的问题、解决方案(列出遇到的问题 和解决办法,列出没有解决的问题) 和解决办法,列出没有解决的问题)
数据库实验3答案
![数据库实验3答案](https://img.taocdn.com/s3/m/6baa15d0998fcc22bcd10dc7.png)
实验三:交互式SQL语句的使用1、实验目的(1)掌握数据库对象的操作过程,包括创建、修改、删除(2)熟悉表的各种操作,包括插入、修改、删除、查询(3)熟练掌握常用SQL语句的基本语法2、实验平台使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。
3 实验内容及要求选择如下一个应用背景之一:学生选课系统习题3、4、和5中使用的数据库其它你熟悉的应用(1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。
(2)要求认真进行实验,记录各实验用例及执行结果。
(3)深入了解各个操作的功能。
实验要求包括如下方面的内容:3.1 数据定义1.基本表的创建、修改及删除2.索引的创建3.视图的创建3.2 数据操作完成各类更新操作包括:1.插入数据2.修改数据3. 删除数据3.3 数据查询操作完成各类查询操作1.单表查询2.分组统计3. 连接查询4. 嵌套查询5. 集合查询3.4 数据操作1.创建视图2.视图查询参考示例:建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。
一、数据定义创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表:表1. Student表结构列名称用途类型长度约束备注Sno 学号字符8 主键Sname 姓名字符8Ssex 性别字符 2Sage 年龄整型Sdept 所在系字符20Sclass 班级字符 4表2. Course表结构列名称用途类型长度约束备注Cno 课程号字符 4 主键Cname 课程名字符40Cpno 先修课程号字符 4Ccredit 学分整型表3. SC表结构列名称用途类型长度约束备注Sno 学号字符8 外键Cno 课程号字符 4Grade 成绩整型1.创建、修改及删除基本表(1)创建Student表CREATE TABLE Student(Sno CHAR(8)PRIMARY KEY,Sname CHAR(8),Ssex CHAR(2)NOT NULL,Sage INT,Sdept CHAR(20));(2)创建Course表CREATE TABLE Course(Cno CHAR(4)PRIMARY KEY,Cname CHAR(40)NOT NULL,Cpno CHAR(4),Ccredit SMALLINT,);(3)创建SC表CREATE TABLE SC(Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno),Cno CHAR(4),Grade SMALLINT,);(4)创建员工表EmployeeCREATE TABLE Employee(编号CHAR(8)PRIMARY KEY,姓名VARCHAR(8)not null部门CHR(40),工资numeric(8,2),生日datetime,职称char(20),);指出该语句中的错误并改正后执行。
实验三数据查询(三)
![实验三数据查询(三)](https://img.taocdn.com/s3/m/a188e3c449649b6648d74724.png)
实验三(3)数据查询一.实验目的1.通过使用SQL查询分析器(Server Query Analyzer),熟练基本SELECT查询,掌握脚本的修改和执行。
2.通过使用SQL查询分析器(Server Query Analyzer),掌握使用SELECT语句的主要子句,实现数据表的复杂检索。
二.实验要求1. 熟练使用SQL语句实现单表查询。
2. 熟练使用SQL语句实现连接查询。
3. 熟练使用SQL语句实现嵌套查询。
三. 实验准备1. 掌握SQL语句的用法。
2. 已完成实验一、二,成功创建了数据库student和其中包含的表。
四.实验内容(二)SQL复合查询操作:启动“查询分析器”,用Transcat-SQL语句完成指定的操作,或分析并执行Transcat-SQL 语句,观察输出结果。
练习1:查询课程数。
写出查询语句:Select count (*) From course练习2:查询不同学分的个数(学分分为几种)。
写出查询语句:Select Distinct count (credit) From course练习3:查询信息系学生的平均年龄。
写出查询语句:Select AVG(sage) From student Where sdapt=’信息系’练习4:查询计算机系学生选修课程的最高成绩。
写出查询语句:Select MAX(grade) From student,sc Where sc.sno=student.sno and sdept=’计算机系’练习5:查询各个学分及相应的课程数。
写出查询语句:Select COUNT(cno),credit From course group by credit练习6:查询有2门以上课程成绩>=90的学生学号及成绩>=90的课程数。
写出查询语句:Select sno,COUNT(sno) Where sno in(Select sno From sc Where grade>=90 ) group by sno having COUNT(sno)>=2练习7:“数据库原理”课程成绩高于李勇的学生学号和姓名Select sno,sname From sc,course,student Where student.sno=sc.sno and o=course=cno and grade>(Select grade From sc,course,student Where student.sno=sc.sno and o=course=cno and sname=’李勇’ and cname=’数据库原理’)练习8:查询所有与李勇选修相同课程的学生的学号和姓名Select student .sno,sname From sc,student Where sc.sno=student.sno and sname=’李勇’练习9:查询年龄介于李勇的年龄与25岁之间的同学的学号、姓名、年龄Select sno,sname,sage From student Where sage<=25 AND sage>=(Select sage From student Where sname=’李勇’ )。
数据库报告3--交互式SQL---数据库嵌套查询和组合查询
![数据库报告3--交互式SQL---数据库嵌套查询和组合查询](https://img.taocdn.com/s3/m/f6813edfad51f01dc281f1eb.png)
实验三交互式SQL---数据库嵌套查询和组合查询一实验要求
1)实验目的:掌握查询语句和组合查询的操作方法,进一步加深对select 语句的理解
2)注意事项:子句的使用;注意语句的层次嵌套关系和括号的配对使用问题;
注意输入SQL语句时均应使用西文操作符号
二实验内容
a)创建查询窗口,设置查询环境
b)分组查询;统计查询;嵌套查询
三实验代码
新建查询窗口,选择studentcourse为当前数据库,输入如下select查询语句并执行,对数据库进行嵌套查询和组合查询操作
1)统计选修了数据库原理课程的学生人数
2)查询没有选修数据库原理课程的学生信息
3)查询其他系中比计算机系学生年龄都小的学生
4)查询被0001学生和0002学生所选修的课程号用union组合查询与in条件查询两种方法实现)
5)查询0001学生和0002学生同时选修的课程的课程号(用intersect组合查询与exists嵌套子查询两种方法实现)
6)查询被0001学生选修但未被0002所选修的课程的课程号(用except组合查询与 not exists 嵌套子查询两种方法实现)
四实验小结
这个实验锻炼了我们使用嵌套和组合查询的应用,尤其是对exists,any的用法上的锻炼,其次是对intersect union except 的基本用法,这是对上学期学的数据库这门课的再一次训练,巩固,不过这一次更注重它的实际应用。
实验交互式SQL实验报告
![实验交互式SQL实验报告](https://img.taocdn.com/s3/m/657bc921a55177232f60ddccda38376baf1fe0c8.png)
实验交互式SQL实验报告一、实验目的本实验旨在通过学习和掌握交互式SQL(Structured Query Language)的基本使用方法和常见操作,加深理解数据库管理系统(Database Management System,简称:DBMS)的工作原理和实际应用。
二、实验内容1.创建数据库表:通过SQL语句创建一个包含多个字段的数据库表,例如学生信息表。
2.插入数据:使用INSERT语句向数据库表中插入若干条记录。
3.查询数据:使用SELECT语句从数据库表中查询指定的记录。
4.更新数据:使用UPDATE语句更新数据库表中的记录。
5.删除数据:使用DELETE语句从数据库表中删除指定的记录。
三、实验步骤1.创建数据库表首先使用CREATE TABLE语句创建一个名为“students”的数据库表,并指定表中的字段名称和数据类型。
例如,可以使用以下语句创建一个包含学生ID、姓名和年龄的数据库表:CREATE TABLE students (id INT, name VARCHAR(20), age INT);2.插入数据使用INSERT INTO语句向表中插入多条记录,每条记录包含相应的字段值。
例如,可以使用以下语句向“students”表中插入三条学生记录:INSERT INTO students (id, name, age) VALUES (1, 'Tom', 20);INSERT INTO students (id, name, age) VALUES (2, 'Mary', 19);INSERT INTO students (id, name, age) VALUES (3, 'John', 21);3.查询数据使用SELECT语句从表中查询指定的记录。
例如,可以使用以下语句查询“students”表中所有学生记录:SELECT * FROM students;此外,还可以使用WHERE子句限制查询结果的范围。
实验三 SQL语言——数据查询操作
![实验三 SQL语言——数据查询操作](https://img.taocdn.com/s3/m/694c0ed380eb6294dd886c5b.png)
实验三SQL语言——数据查询操作一、实验时间:二、实验地点:三、实验条件与环境1.通用PC机2.PC机必须安装Windows 2000系列、Windows XP系列或Windows NT操作系统平台3.PC机还须安装Microsoft SQL Server 2000 任意一版本(个人版、标准版、企业版)4.最好有一台公用的SQL Server 2000 服务器四、实验目的1.通过上机实验进一步加深对SQL查询语句的基本语法格式的掌握2.通过上机实验掌握单表查询的实现过程3.通过上机实验掌握多表关联查询的实现过程4.通过上机实验掌握嵌套查询的实现过程5.通过上机实验掌握集函数与谓词在Select语句中的使用6.通过上机实验加深了解Select语句与关系代数运算(如选择、投影、连接、除法等)两者之间的联系与区别五、实验要求:1.本实验所有实验内容要求在规定时间(2课时)内完成2.实验内容中涉及到的各查询操作均通过SQL语言来实现3.实验完成后需要书写实验报告,本次实验报告需在下次实验课堂上上交六、实验内容:1.查询为工程J1供应零件的供应商号码SNO2.查询为工程J1供应零件P1的供应商号码SNO3.查询为工程J1供应红色零件的供应商号码SNO4.查询没有使用天津供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程号JNO5.查询至少选用了供应商S1所供应的全部零件的工程号JNO6.找出所有供应商的名称和所在城市7.找出所有零件的名称、颜色和重量8.找出使用供应商S1所供应零件的工程号码9.找出工程项目J2使用的各种零件的名称及其重量10.找出上海厂商供应的所有零件号码11.找出使用上海产的零件的工程名称12.找出没有使用天津产的零件的工程号码13.找出重量最轻的红色零件的零件编号PNO14.找出供应商与工程所在城市相同的供应商提供的零件号码15.找出所有这样的一些<CITY,CITY,PNAME>三元组,使得第一个城市的供应商为第二个城市的工程供应零件的名称为PNAME16.重复第15题,但不检索两个CITY值相同的三元组17.找出供应商S1为工程名中含有“厂”字的工程供应的零件数量总和18.找出为工程供应零件的总数量不低于500的供应商号码及供应总数量,结果按供应商号码分类并且按供应总数量降序排列七、实验总结:数据查询是一种极为重要的面向数据库的数据操纵方式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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语句的基本语法以及你自己的理解。
_数据库实验三课程实验报告
实验名称:。