数据库实验04 查询

数据库实验04 查询
数据库实验04 查询

数据库实验04 查询

1)调出上个实验创建的三个表。方法:附加XSKC数据库或运行创建3个表的SQL语句。2)用SQL增加数据语句输入四个表中数据。其中学生表不得少于10个,课程注册表不得少于8个,学期成绩表不得少于30个。注意:输入数据时应先输入主表数据,再输入有外键的数据;同时注意各表已经定义约束条件。

学生表:

课程注册表:

学期成绩表:

3)设计查询语句并在查询编辑器中进行查询。

①求选修了某门课程的学生姓名。

②查询某个学生所选修的课程的课程号,课程名称以及成绩。

③查询参与了所有课程选修的学生姓名和学生所在的系别。

该条查询结果为空:④查询没有选修任何一个课程的学生姓名和所在系别。

⑤查询课程没有学生选修的课程名称。

该条查询结果为空:

⑥查询选修了某个老师的所有课程的学号、姓名和所在系别。

⑦列出每门课程的平均分、最高分、最低分。

⑧对所有学生求出所选修课程的最高分、平均分。

⑨对某老师的授课的某课程的分数都增加5分。

查询操作续:

1、查询全体学生的学号、姓名、性别和年龄。

2、查询某专业且某班级的学生,列出学号、性别和出生日期。

由于所插入的表中没有写入班别信息,为显示结果,在此忽略班级限制,

3、查询姓“陈”的学生的学号、姓名和系别。

4、查询姓“陈”的且全名为两个字的学生的学号、姓名和系别。

5、查询查询姓“陈或姓“李”或姓“张”学生的学号、姓名和系别。

6、列出某课程编号的成绩在前三名的学生的学号、成绩。(如果第三名有多个学生都列出)。

7、统计各个系别的学生人数。

8、统计各门课程的平均分、最高分、最低分,结果集按平均分降序排列。

9、查询选修了某两门课程的学生。

10、统计学生不及格情况,列出不及格的学生的学号、姓名和不及格的门数。

11、查询有三门以上的不及格的学生,列出学号、姓名和不及格的门数。

12、查询选修了某课程编号且成绩比此门课程的平均分要高的学生的学号、姓名和成绩。

13、查询没有选修某课程编号的学生的学号和姓名。

14、查询某门课程都在80分以上的学生的学号和姓名。

15、查询选修了某课程的学生的学号和姓名。(用两种以上方法)第一种:

第二种:

第三种:

数据库实验四-查询

华中科技大学 《数据库技术与应用》实验报告专业班级:学生姓名:学号: 实验地点:指导教师: 实验日期时间: 一、实验项目名称:数据查询 二、实验学时: 三、实验目的: 1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。 2.掌握使用SELECT语句进行条件查询的方法。 3.掌握嵌套查询的方法。 4.掌握多表查询的方法。 5.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。 四、实验工具或环境 一台装有SQL sever2008的计算机五、实验内容、步骤、代码和结果: 0. 创建studentsdb数据库及其相应表,并录入数据。 在SQL Server管理平台上,点击“新建查询”打开查询编辑器窗口,复制粘贴附件“创建数据库代码”中的代码到查询编辑器窗口,运行即可生成相关数据库和表,并有相应的数据。 1.在studentsdb数据库中,使用下列SQL语句将输出什么? (1)SELECT COUNT(*) FROM grade (2)SELECT SUBSTRING(姓名,1,2) FROM student_info (3)SELECT UPPER('kelly') (4)SELECT Replicate('kelly',3) (5)SELECT SQRT(分数) FROM grade WHERE 分数>=85

(6)SELECT 2,3,POWER(2,3) 选做 (7)SELECT YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE()) 2.在studentsdb数据库中使用SELECT语句进行基本查询。 (1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。 (2)查询学号为0002的学生的姓名和家庭住址。 select姓名,家庭住址from student_info where学号 ='0002' (3)找出所有男同学的学号和姓名。 select姓名,家庭住址from student_info where性别='男' 3.使用SELECT语句进行条件查询 (1)在grade表中查找分数在80~90分为内的学生的学号和分数。 select学号,分数from grade where分数>='80'and分数<='90' (2)在grade表中查询课程编号为0003的学生的平均分。 select AVG(分数)as平均分from grade where课程编号='0003'

实验报告 数据库的基本查询'

一、实验目的: 通过该实验掌握应用SQL 查询数据库的基本方法,包括单表、多表查询。 二、实验原理 数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询。 SELECT[ALL|DISTINCT] <目标列表达式〉[,<目标列表达式〉]... FROM<表名或视图名〉[,<表名或视图名〉]... [WHERE<条件表达式>] [GROUP BY<列名1〉[HA VING<条件表达式>]] [ORDERBY<列名2〉[ASC|DESC]] 三、实验内容和方法 实验用的数据库:用实验二建立的数据库:School 1. 投影查询 (1) 查询SC表的sno的不重复记录。 使用SQL语句:“select distinct Sno from SC”,得出结果如下图所示: (2) 改变查询结果的标题名:sno为学号,sname为姓名,ssex 为性别,sdept 为系名。 使用SQL语句:“select Sno 学号,Sname 姓名,Ssex 性别,Sdept 系名from Student”,得出结果如下图所示:

(3) 查询STUDENT表的前3条记录(top 3)。 使用SQL语句:“select top 3 * from Student”,得出结果如下图所示: 3. 选择查询 (1) 查询成绩在60-80之间的姓名、系名和成绩。 使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade>60 and Grade<80 and Student.Sno=SC.Sno”,结果如下图所示: 若使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade between 60 and 80 and Student.Sno=SC.Sno”,则结果如下图所示: (2) 查询信息系和计算机系的姓名和成绩。 使用SQL语句:“select Sname,Grade from Student,SC where Sdept='IS' and Student.Sno=SC.Sno or Sdept='CS' and Student.Sno=SC.Sno”,结果如下图所示:

数据库查询实验报告

应用数学学院_学院专业_1__班学号 姓名___ ___教师评定 实验题目数据库的查询 一、实验目的与要求 实验目的:使学生掌握SQL Server查询分析器的使用方法,加深对SQL 和Transact-SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据联结查询的操作方法;嵌套查询语句;熟练掌握数据查询中的分组、统计、计算和组合的操作方法。 实验要求: 1、简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表等; 2、连接查询操作; 3、嵌套查询。在SQL Server查询分析器中使用IN、比较符、ANY或ALL和EXISTS 操作符进行嵌套查询操作; 4、分组查询实验。包括分组条件表达、选择组条件的表达方法; 5、使用函数查询。包括统计函数和分组统计函数的使用方法; 6、组合查询实验; 二、实验方案 将查询需求用Transact-SQL语言表示;在SQL Server查询分析器的输入区中输入Transact-SQL查询语句;设置查询分析器的结果区为标准执行或网格执行方式;发布执行命令,并在结果区中查看结果; 三、实验结果和数据处理 1、学生选课库的各个表截图: (1)学生表

(2)课程表 (3)选课表 2、图书-读者库的各个表截图(1)图书表

(2)读者表 (3)借阅表 实验步骤: 1、简单查询: l)用Transact-SQL语句表示下列操作.在学生选课库中实现其数据查询操作.①求数学系学生的学号和姓名。 select 学号,姓名 from 学生 where 所在系='数学';

结果: ②求选修了课程的学生学号。 select distinct 学号 from 选课 结果: ③求选修A1课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。 select 学号,成绩 from 选课 where 课程号='A1' order by 成绩 desc,学号 asc 结果: ④获选修课程A1且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8 输出。select 学号,成绩*0.8 from 选课 where 课程号='A1' and 成绩 between 80 and 90 结果: ⑤求数学系或计算机系姓张的学生的信息。 select * from 学生 where 所在系 in ('数学','计算机') and 姓名 like '张%'; 结果; ⑥求缺少了成绩的学生的学号和课程号。(本库中没有学生没有成绩) select 学号,课程号 from 选课 where 成绩 is null

数据库实验四:SQL数据查询

数据库实验四:S Q L数 据查询

数据库实验四:SQL数据查询 一、实验目的与要求: 1.实验目的 熟练掌握SQL SELECT语句,能运用查询语句完成各种查询。 实验内容: 在实验三和实验四的基础上完成查询操作,将题目中的x, y等具体化: 1、一般简单查询 (1)不带条件的查询指定字段(考虑去掉和不去掉重复值两种情况)。 (2)查询某个表中的所有记录。 (3)使用单个条件的简单查询。 (4)使用多个条件(AND关系)的查询。 (5)使用多个条件(OR关系)的查询。 (6)使用多个条件(混合AND和OR关系)的查询。 (7)使用带NOT运算的查询。 (8)使用BETWEEN···AND···的查询。 (9)使用NOT···BETWEEN···AND···的查询。 (10)使用LIKE运算符的字符串匹配查询。 (11)使用LIKE运算符的模板匹配查询。 (12)查询空值和非空值的查询 (13)结果要求排序的查询 (14)查询结果按多列排序,并分别要求升序和降序的查询。 (15)使用TOP显示前若干记录的查询。 (16)使用TOP显示前若干记录的查询,如果有满足条件的并列记录一并显示。 2、连接查询 (17)两个关系的连接查询。 (18)带其他查询条件的两个关系的连接查询。 (19)多个关系(三个以上)的连接查询。 (20)两个关系的广义笛卡尔积运算结果。 (21)根据两个关系的广义笛卡尔积运算结果得到两个关系进行自然连接的结果。 (22)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段。 (23)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中列出所有教师信息(即包括不 是任何课程责任教师的教师信息)。 (24)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中能够反映目前没有确定责任教 师的课程信息。 (25)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中既能够反映目前不是责任教师

实验三 数据库的查询和视图

实验三数据库的查询和视图 T4.1 数据库的查询 1、目的和要求 (1)掌握SELECT语句的基本语法。 (2)掌握子查询的表示。 (3)掌握连接查询的表示。 (4)掌握SELECT语句的GROUP BY子句的作用和使用方法。 (5)掌握SELECT语句的ORDER BY子句的作用和使用方法。 2、实验准备 (1)了解SELECT语句的基本语法格式。 (2)了解SELECT语句的执行方法。 (3)了解子查询的表示方法。 (4)了解连接查询的表示。 (5)了解SELECT语句的GROUP BY子句的作用和使用方法。 (6)了解SELECT语句的ORDER BY子句的作用。 3、实验内容 (1)SELECT语句的基本使用。 ①对于实验二给出的数据库表结构,查询每个雇员的所有数据。 新建一个查询,在“查询分析器”窗口中输入如下语句并执行。 单击右键空白处,选择执行,在下方会出现所有结果。 【思考与练习】 用SELECT语句查询Departments表和Salary表中所有信息。

新建一个查询,在“查询分析器”窗口中输入如下语句并执行。 单击右键空白处,选择执行,在下方会出现所有结果。 在“消息”中会发现总共有60行受影响。 ② 用SECECT语句查询Employees表中每个雇员的地址和电话号码。 新建一个查询,在“查询分析器”窗口中输入如下代码并执行。 单击右键空白处,选择执行,在下方会出现所有结果。 在“消息”中会发现有12行记录受影响 【思考与练习】 A、用SELECT语句查询Departments表和Salary表的一列或若干行。

利用SELECT语句查询Departments表和Salary表中EmployeeID为000001的记录,在“查询分析器”中输入以下代码。 执行后在下方会出现所有EmployeeID=000001的记录 B、查询Employees表中部门号和性别,要求使用DISTINCT消除重复行。 对表只选择某些行时,可能会出现重复行。此时就需要使用DISTINCT关键字消除结果中的重复行。此时使用DISTINCT消除在Employees中查询到的部门号和性别的重复行,具体代码如下。 上面代码分别是使用了DISTINCT和没有使用DISTINCT关键字,下面就是两种的结果的对比。 可以从上面的执行结果中看出使用了DISTINCT关键字,结果集中的重复行就被消除了。 ③查询EmployeeID为000001的雇员的地址和电话。

数据库实验04 查询

数据库实验04 查询 1)调出上个实验创建的三个表。方法:附加XSKC数据库或运行创建3个表的SQL语句。2)用SQL增加数据语句输入四个表中数据。其中学生表不得少于10个,课程注册表不得少于8个,学期成绩表不得少于30个。注意:输入数据时应先输入主表数据,再输入有外键的数据;同时注意各表已经定义约束条件。 学生表: 课程注册表: 学期成绩表:

3)设计查询语句并在查询编辑器中进行查询。 ①求选修了某门课程的学生姓名。 ②查询某个学生所选修的课程的课程号,课程名称以及成绩。

③查询参与了所有课程选修的学生姓名和学生所在的系别。 该条查询结果为空:④查询没有选修任何一个课程的学生姓名和所在系别。 ⑤查询课程没有学生选修的课程名称。

该条查询结果为空: ⑥查询选修了某个老师的所有课程的学号、姓名和所在系别。 ⑦列出每门课程的平均分、最高分、最低分。 ⑧对所有学生求出所选修课程的最高分、平均分。

⑨对某老师的授课的某课程的分数都增加5分。 查询操作续: 1、查询全体学生的学号、姓名、性别和年龄。 2、查询某专业且某班级的学生,列出学号、性别和出生日期。 由于所插入的表中没有写入班别信息,为显示结果,在此忽略班级限制,

3、查询姓“陈”的学生的学号、姓名和系别。 4、查询姓“陈”的且全名为两个字的学生的学号、姓名和系别。 5、查询查询姓“陈或姓“李”或姓“张”学生的学号、姓名和系别。 6、列出某课程编号的成绩在前三名的学生的学号、成绩。(如果第三名有多个学生都列出)。 7、统计各个系别的学生人数。 8、统计各门课程的平均分、最高分、最低分,结果集按平均分降序排列。

数据库SQL查询语句实验报告

实验一简单查询 在订单数据库中完成如下的查询 (1) 查询所有业务部门的员工姓名、职称、薪水 命令: select employeeName2612,headShip2612,salary2612 from Employee2612 where department2612='业务科' 结果: (2) 查询名字中含有“有限”的客户姓名和所在地。 命令: select CustomerName2612,address2612 from Customer2612 where CustomerName2612 like '%有限%' 结果: (3) 查询出姓“王”并且姓名的最后一个字为“成”的员工。 命令: select * from Employee2612 where employeeName2612 like '王%成' 结果: (4) 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示。 命令:

select employeeName2612,department2612,headShip2612,address2612, case sex2612 when 'M' then '男' when 'F' then '女' end as 性别 from Employee2612 where address2612 like '%上海%' or address2612 like '%南昌%' and sex2612='F' 结果: (5) 在表sales中挑出销售金额大于等于10000元的订单。 命令: SELECT orderNo2612,sum(quantity2612*price2612) as total FROM OrderDetail2612 GROUP BY orderNo2612 HA VING sum(quantity2612*price2612)>10000 结果: (6) 选取订单金额最高的前10%的订单数据。 命令: select TOP 10 PERCENT orderNo2612, sum(quantity2612*price2612) as total from OrderDetail2612 group by orderNo2612 ORDER BY total desc 结果: (7) 查询出职务为“职员”或职务为“科长”的女员工的信息。 命令: select * from Employee2612 where headShip2612 in ('科长','职员') and sex2612='F' 结果:

数据库实验(实验七数据查询)实验报告答案

实验7数据查询 【实验内容】 7.1单表查询 1、指定列或全部列查询 1) 查询S表中全体学生的详细记录 use jxsk select * from S 出言岂select - f Tdtt s| .1结杲 SEX AGE DEPT NATEVE J_a, i so i王青 山 19计算机NULL 2SI—赵亦17软件MULL 35218计算机NULL 4S3弓綽明胃IS信息NULL 554李四21包动ft NULL &S519软件NULL 756昊丽20计算机NULL 8S7范思明女ie NULL 9S820自动化NULL 10 S919枫牛NULL 2) 查询所有学生的姓名及其岀生年份。 use jxsk select SN, 2012 - AGEfrom S 1 「王 諭】 1&93 2赵亦1995 J钱尔1594 4號慣明隔 &李四1S51 6周展憫1553 7昊丽1382 8范思明1994 S??1S92 10张海涛 2、按条件查询及模糊查询 1)查询考试成绩有不及格的学生的学号。 use jxsk selectdistinct SNOfrom SCwhere SCORE<60 2)查询年龄在20 —23岁之间的学生的姓名、系名和年龄use jxsk select SN,

DEPT, AGEfrom S where AGE>=20 and AGE<= 30 □ us* select 5N, DEET, troni 5 L AGE>=20 ard AGE<-30 V结果J消息 | SH DEPT ,

数据库实验五

实验五:数据库综合查询 姓名:潘年品学号:120802010027 一、实验目的 1. 掌握SELECT语句的基本语法和查询条件表示方法; 2. 掌握查询条件种类和表示方法; 3. 掌握连接查询的表示及使用; 4. 掌握嵌套查询的表示及使用; 5. 了解集合查询的表示及使用。 二、实验环境 已安装DBMS的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1. 了解SELECT语句的基本语法格式和执行方法; 2. 了解连接查询的表示及使用; 3. 了解嵌套查询的表示及使用; 4. 了解集合查询的表示及使用; 5. 完成实验报告; 五、实验内容及步骤 以数据库原理实验2数据为基础,请使用T-SQL 语句实现进行以下操作:1.查询以‘数据_'开头,且倒数第3个字符为‘结'的课程的详细情况; 2.查询名字中第2个字为‘阳'的学生姓名和学号及选修的课程号、课程名;

3.列出选修了‘数学'或者‘大学英语'的学生学号、姓名、所在院系、选修课程号及成绩; 4. 查询缺少成绩的所有学生的详细情况;

年龄不同的所有学生的信息;)假设姓名唯一(查询与‘张力'5. 6. 查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩;

7. 按照?学号,姓名,所在院系,已修学分?的顺序列出学生学分的获得情况。其中已修学分为考试已经及格的课程学分之和; 8. 列出只选修一门课程的学生的学号、姓名、院系及成绩;

查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;9. 两门课程的学生的基本信息;?10. 只选修?数据库?和?数据结构 课程的学生的基本信息;?或?数据结构?至少选修?数据库11.

数据库实验——简单查询

数据库实验——简单查询

————————————————————————————————作者:————————————————————————————————日期:

数据库原理与应用实验报告 题目:简单查询 学号:_________ 姓名:_________ 教师:_________

实验题目 简单查询 1、实验内容 1 创建教材P74第5题的4张表,S, P, J, SPJ 2 向4张表中插入P75页的数据 3 查询供应工程J1林剑的供应商号码SNO 4 查询供应工程J1零件P1的供应商号码SNO 5 查询供应工程J1零件为红色的供应商号码SNO 6 查询没有使用天津供应商生产的红色零件的工程号JNO 7(思考题)查询至少用了供应商S1所供应的全部零件的工程号JNO。 2、实验目的与要求 熟悉SQL语句 3、实验环境 已安装SQL Server 2008 企业版的计算机; 具有局域网环境,有固定IP; 4、实验结果与分析 1 创建教材P74第5题的4张表,S, P, J, SPJ create table s (sno varchar(45) primary key, sname varchar(45), status integer(4), city varchar(4) );

create table p (pno varchar(45) primary key, pname varchar(45), color varchar(45), weight integer(3)); create table j (jno varchar(45) primary key, jname varchar(45), city varchar(45)); create table spj (sno varchar(45), pno varchar(45), jno varchar(45), qty integer(4), primary key(sno,pno,jno), foreign key (sno) references s(sno), foreign key (pno) references p(pno), foreign key (jno) references j(jno),); 3 查询供应工程J1林剑的供应商号码SNO select distinct sno from spj where jno=’J1’

数据库实验二-简单查询和连接查询

实验二:简单查询和连接查询 (一)实验目的:熟练掌握用SQL语句实现数据库和基本表的创建、数据 的更新。 (二)实验内容: ①查询所有“天津”的供应商明细; ②查询所有“红色”的14公斤以上的零件。 ③查询工程名称中含有“厂”字的工程明细。 (一)完成下面的连接查询: ①等值连接:求s表和j表的相同城市的等值连接。 ②自然连接:查询所有的供应明细,要求显示供应商、零件和工程 的名称,并按照供应、工程、零件排序。 ③笛卡尔积:求s和p表的笛卡尔积 ④左连接:求j表和spj表的左连接。 ⑤右连接:求spj表和j表的右连接。 (三)完成情况(附上设计的SQL语句),语句与查询结果: ①查询所有“天津”的供应商明细; Select * From S Where CITY=‘天津’

②查询所有“红色”的14公斤以上的零件。Select * From P Where COLOR=‘红’and WEIGHT>14 ③查询工程名称中含有“厂”字的工程明细。 Select * From J Where JNAME NOT IN(‘三建’,‘一汽’)

(二)完成下面的连接查询: ①等值连接:求s表和j表的相同城市的等值连接。 Select S.*,J.* From S,J Where S.CITY=J.CITY ②自然连接:查询所有的供应明细,要求显示供应商、零件和工程 的名称,并按照供应、工程、零件排序。 Select SNAME,JNAME,PNAME From S,J,P,SPJ Where SPJ.SNO=S.SNO and SPJ.JNO=J.JNO and SPJ.PNO=P.PNO

数据库数据查询实验报告

师学院数学与计算机科学学院 《数据库》实验报告 实验序号:07 实验项目名称:数据查询 学号2014210758 姓名邹业安专业、班级14信科实验地点222 指导教师褚万军时间2017.6.07 一、实验目的及要求 ?掌握从简单到复杂的各种数据查询。包括:单表查询、多表连接查询、嵌套查询、集合查询。 ?掌握用条件表达式表示检索条件。 ?掌握用聚合函数计算统计检索结果。 二、实验设备(环境)及要求 1、环境要求: 硬件:PC(PII以上,128M以上存)、因特网接入; 软件:在SQL Server 2000中 三、实验容与步骤 1、一般简单查询 (1)不带条件的查询指定字段(考虑去掉和不去掉重复值两种情况)。select distinct 学号 from 选课 select 学号 from 选课

(2)查询某个表中的所有记录 查询教师表中的所有记录 (3)使用单个条件的简单查询 查询成绩大于50的学生的学号select 学号 from 选课where 成绩>50

(4)使用多个条件(AND关系)的查询 select工资 from教师 where工资>200 and工资<500 (5)使用多个条件(OR关系)的查询 select工资 from教师 where工资<200 or工资>500 (6)使用多个条件(混合AND和OR关系)的查询 select*from学生 where (院系='2'and生源='')or(院系='6'and生源='') (7)使用带NOT运算的查询 select * from 学生 where not (生源='')

(8)使用BETWEEN???AND???的查询 select * from 选课 where 成绩 between 86 and 93 (9)使用NOT???BETWEEN???AND???的查询select * from 选课 where 成绩 not between 76 and 93 (10)使用LIKE运算符的字符串匹配查询。 select * from 课程 where 课程性质 like '专业__'

实验2 数据库的查询

实验2数据库的查询 一、实验目的及意义 通过本实验进一步理解及掌握如何利用查询向导、查询设计器及SQL语句实现数据库的查询操作。 二、实验的基本原理及方法 数据库选用ACCESS。查询向导、查询设计器及SQL基本语句的语法、各类运算符、函数及表达式的应用。 三、实验内容及要求 在“学籍管理”数据库的基础上验证一下内容: 1.利用设计视图、或者查询向导验证教材P73--P94中的例题,要求每节至少选 做一题,并将主要过程及结果拷贝到实验记录中。 2.用SQL语句验证4.9节的相关例题,或验证课堂案例,并选择其中一题将结果 拷贝到实验记录中。要求有SQL视图的截图及运行结果的截图。 3.请自行设计3-4个应用题,并用SQL语句实现之,将相关的SQL语句及运行结 果截图至实验记录中。 四、实验记录: 1、教材P73-P94例题综合

2、书本SQL查询例题25-33 3、自行设计题

五、实验思考题 1.ACCESS数据库中,对象“表”与对象“查询”有何区别? 答:表——表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。 查询——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。 查询对象用来合理显示数据,是一个操作的集合,它本质上是一条SQL语言编写的命令,而数据表对象用来存储基础数据,是数据的集合。查询对象里的显示数据可以由一个或多个表里的某些列按照条件组成。 2. 在“联合查询”查询中,如果相联合的表的结构不完全一致,会出现什么结果? 答:相联合的表的结构不一致,包括字段数、数据类型等存在差异时,往往无法将表或查询的字段合并到一个集中中查看,很难将要检索的数据完整地呈现出来。

实验3 数据库查询实验

实验3 数据库查询实验 一.实验目的 本实验的目的是使学生掌握SQL Server查询分析器的使用方法,加深对SQL和SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。 二.实验内容 1.简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表等。 具体完成以下题目,将它们转换为SQL语句表示,在学生选课数据库中实现其数 据查询操作。 1.求数学系学生的学号和姓名 2.求选修了课程的学生学号 3.求选修课程号为‘C1’的学生号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同按学号的升序排列。 4.求选修课程号为‘C1’且成绩在80~90之间的学生学号和成绩,并成绩乘以0.8输出。 5.求数学系或计算机系姓张的学生的信息。 6.求缺少了成绩的学生的学号和课程号 2.连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。 7.查询每个学生的情况以及他所选修的课程 8.求学生的学号、姓名、选修的课程及成绩 9.求选修课程号为‘C1’且成绩在90以上的学生学号、姓名和成绩 10.查询每一门课程的间接先行课(即先行课的先行课) 3 .嵌套查询操作。实验的主要内容是:在SQL Server查询分析器中使用IN、比较符、 ANY或ALL和EXISTS操作符进行嵌套查询操作。 具体完成以下例题。将它们用SQL语句表示,在学生选课中实现其数据嵌套查询操作。 例1 求选修了高等数学的学号和姓名 例2 求C1课程的成绩高于刘晨的学生学号和成绩 例 3 求其他系中比计算机系某一学生年龄小的学生(即年龄小于计算机系年龄最大者的学生) 例4 求其他系中比计算机系学生年龄都小的学生 例5 求选修了C2课程的学生姓名 例6 求没有选修C2课程的学生姓名 例7 查询选修了全部课程的学生姓名 例8 求至少选修了学号为“95002”的学生所选修全部课程的学生学号和姓名 4.分组、统计、计算和集合的操作 1)分组查询实验。该实验包括分组条件表达、选择组条件表达的方法。

数据库实验多表查询实验报告

附页 实验内容: 针对实验数据库shiyan,完成以下单表查询操作: 1.查询为工程J1供应红色零件的供应商号码SNO。 2.查询没有使用天津供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程号JNO。 3.查询至少选用了供应商S1所供应的全部零件的工程号JNO。 4.找出工程项目J2使用的各种零件的名称及其重量。 5.找出上海厂商供应的所有零件号码。 6.找出使用上海产的零件的工程名称。 7.找出没有使用天津产的零件的工程号码。 8.找出重量最轻的红色零件的零件编号PNO。 9.找出供应商与工程所在城市相同的供应商提供的零件号码。 10.找出所有这样的一些<CITY,CITY,PNAME>三元组,使得第一个城市的供应商为第二个城市的工程供应零件的名称为PNAME。 11.重复第15题,但不检索两个CITY值相同的三元组。 12.找出供应商S1为工程名中含有“厂”字的工程供应的零件数量总和。 实验方法、步骤以及实验结果: 操作1 (1)打开SQL Server查询分析器。 (2)在查询分析器中输入如下所示的SQL脚本: use ShiYan go select sno from spj where jno='j1'and pno in(select pno from p where color='红') 操作结果: 操作2 (1)打开SQL Server查询分析器。 (2)在查询分析器中输入如下所示的SQL脚本: use shiyan

go select jno from spj where sno in (select sno from s where city<>'天津') and pno in (select pno from p where color='红') 操作结果: 操作3 (1)打开SQL Server查询分析器。 (2)在查询分析器中输入如下所示的SQL脚本: select distinct jno from spj as x where not exists ( select * from spj as y where sno='s1' and not exists (select * from spj as z where z.pno=y.pno and z.jno=x.jno)) 操作结果: 操作4 (1)打开SQL Server查询分析器。 (2)在查询分析器中输入如下所示的SQL脚本: use shiyan go select pname,weight from p,spj where spj.jno='j2' and spj.pno=p.pno 或者 select pname,weight from p where pno in (select distinct pno from spj where jno='j2') 操作结果:

数据库实验一

实验报告 实验项目名称实验一SQL单表查询实验室 所属课程名称《数据库》 实验日期 班级 学号 姓名 成绩

3,查询所有销售员(SALESMAN)的姓名、编号和部门编号 Select ename,empno,deptno From emp Where job= ‘SALESMAN’; 4, 查询佣金高于薪金50% 的雇员的所有信息 Select * From emp Where sal>1.5*comm; 5, 查询第1个字母为“M”的雇员姓名 Select empno,ename From emp Where ename LIKE ’M%’; 6,查询雇员的姓名和雇佣日期,在显示姓名时只有第1个字母使用大写 Select initcap(ename) AS ENAME,hiredate From emp; 7, 查询姓名包含6个字符的雇员信息 Select * From emp Where length(ename)=6; 8,查询姓名中不含字母“S”的所有雇员信息 select * from emp where ename not like ‘%S%’; 9,查询所有雇员的姓名,以及所承担的工作名称的前5个字符; select ename,substr(job,1,5)as JOB from emp; 10,查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金 select ename,job,comm from emp where comm is null OR comm<200; 11,查询收取佣金的雇员所承担的工作的名称,重复的工作名称应取消; Select distinct job From emp Where comm Is not null; 12,查询部门“20”中所有分析师(ANALYST)和部门“30 ”中所有办事员(CLERK)的详细信息; Select *

SQL实验二:数据库查询实验报告

实验二数据库的查询实验 实验目的和要求 (1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。 (2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。 (3)熟练掌握数据查询中的分组、统计、计算和组合的操作方法。 实验内容和原理 在实验一定义的“学生成绩数据库”中,使用T-SQL 语句完成以下查询: (1 )求计算机系学生的学号和姓名。 (2)求选修了数学的学生学号、姓名和成绩。 (3)求选修01 课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。 (4)查找选修课程的平均成绩位于前三名的学生的学号。 (5)查询计算机系的姓刘且单名的学生的信息。 (6)查询至少选修两门课程的学生学号。 (7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。 (8)查询选修“数据库”课程,且成绩在80 分以上的学生的学号和成绩。 (9)查询所有姓“王”的同学没有选修的课程名。(请分别用exists和in完成该查询) (10)查询选修了全部课程的学生的姓名。(请至少写出两种查询语句) (11)求选修了学生“ 95001”所选修的全部课程的学生学号和姓名。 (12)查询每一门课的间接先修课。 (13)列出所有学生所有可能的选课情况。 (14)列出每个学生的学号及选修课程号,没有选修的学生的学号也一并列出。 (15)输出与“张三”同性别并位于同一个系的所有同学的姓名。(请至少写出两种 查询语句) (16)查询至少被两名男生选修的课程名。 (17)对被两名以上学生所选修的课程统计每门课的选课人数。要求输出课程号和选修人数,查询结果按人数降序排列;若人数相同,按课程号升序排列。 (18)列出选修课程超过 3 门的学生姓名及选修门数。 (19)检索至少选修课程号为01 和03 的学生姓名。 (20)检索至少选修课程“数学”和“操作系统”的学生学号。 (21 )查询‘操作系统'课程的最高分的学生的姓名、性别、所在系 (22)查询数据结构的成绩低于操作系统的成绩的学生姓名及该生的这两门课的成绩 (23)所有成绩都在70 分以上的学生姓名及所在系。

数据库查询 实验报告(优选.)

最新文件---------------- 仅供参考--------------------已改成-----------word文本 --------------------- 方便更改 赠人玫瑰,手留余香。 实验报告 课程名称:数据库系统概论 学院:工程学院 专业:

年级:班级: 姓名:学号: 指导教师: 2015 年 12 月 10 日 教务处制

1.在建立3.2节学生-课程数据库的基础上,完成课本例3.69-97的各例题; 2. 根据以下要求认真填写实验报告,记录所有的实验用例。 4 实验方法及步骤 例3.69将一个新学生元组(学号:201215128,姓名:陈东,性别:男,年龄:18,所在系:IS)插入到student表中。 INSERT INTO "S-C"."STUDENT" ("SNO","SNAME","SSEX","SDEPT","SAGE" ) VALUES ('201215128','陈冬','男','IS',18 ); select* from "S-C"."STUDENT" 注意:在INTO子句中指出了表名student,并指出了新增加的元组在哪些属性上要赋值,属性的顺序可以与CREATE TABLE中的顺序不一样。 例3.70将学生张成民的信息插入到student表中。 INSERT INTO "S-C"."STUDENT" VALUES ('201215126','张成民','男','18','CS' ); select* from "S-C"."STUDENT"

注意:值与属性要一一对应。 例3.71插入一条选课记录('201215128','1') INSERT INTO "S-C".sc(sno,cno) VALUES ('201215128','1'); SELECT* from "S-C".sc; 注意:在新插入的记录中GRADE列自动地赋空值。 或者:INSERT INTO "S-C".sc VALUES ('201215128','1',null); SELECT* from "S-C".sc; 注意:若直接在SC中直接插入选课记录,由于没有指出SC的属性名,在GRADE列上要明确给出空值NULL。

3数据库查询实验(2)

实验三数据库查询实验 (2)数据库的嵌套查询实验 课时安排:2课时 一、实验目的和要求 使学生进一步掌握SQL Server查询分析器的使用方法,加深SQL和Transact-SQL语言的嵌套查询语句的理解。 二、实验内容 在SQL Server查询分析器中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。 三、实验方法 将查询需求用Transact-SQL语言表示;在Sin Server查询分析器的输人区中输入Transact-SQL查询语句;设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果:如果结果不正确,要进行修改.直到正确为止。 四、实验步骤 1 基本操作实验 用Transact-SQL语句表示,在学生选课库中实现其数据嵌套查询操作。 (1) 求选修了高等数学的学生学号和姓名。 (2)求C1课程的成绩高于张三的学生学号和成绩。 (3)求其他系中年龄小于计算机系年龄最大者的学生。 (4)求其他系中比计算机系学生年龄都小的学生。 (5)求选修了C1课程的学生姓名。 (6)求没有选修C1课程的学生姓名。 (7) 查询选修了全部课程的学生的姓名。 (8)求选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。 2 提高操作实验 将自设计的数据库应用项目中的数据查询操作分类,用Transact-SQL语句表示其中的简单、连接和嵌套查询.并通过SQL Server 查询分析器实现其查询操作。 五、实验报告要求 1 分别用SQL和Transact-SQL写出实验操作的查询语句,对两种语言进行比较。 2 实验步骤和实验结果。 3 实验中的问题和提高。 六、注意事项 1输入SQL语句时应注意,语句中均使用西文操作符号。 2 语句的层次嵌套关系和括号的配对使用问题。

数据库的简单查询和连接查询实验

1.1实验2 数据库的简单查询和连接查询实验 1.实验目的 本实验的目的是使学生掌握SQL Server查询分析的使用方法,加深对SQL和SQL 语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。 2.实验内容 0.1新建数据库 图1:创建数据库“Yangl_Test2” USE master GO CREATE DATABASE Yangl_Test2 ON (NAME = Yangl_Test2_Data, FILENAME ='D:\数据库\Yangl_Test2_Data.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5) LOG ON (NAME = 'Yangl_Test2_Log', FILENAME = 'D:\数据库\Yangl_Test2_Log.ldf',

SIZE = 5 MB, MAXSIZE = 25MB, FILEGROWTh = 5MB) GO 0.2创建数据表 图2:创建数据表“Yangl_Students” CREATE TABLE Yangl_Students ( yl_Sno CHAR(5) PRIMARY KEY, yl_Sname CHAR(15) NOT NULL, yl_Ssex CHAR(2) DEFAULT '男', yl_Dno CHAR(5), yl_Dname CHAR(20) ) 图3:创建数据库“Yangl_Courses” CREATE TABLE Yangl_Courses ( yl_Cno CHAR(6) PRIMARY KEY,

相关文档
最新文档