《数据查询与操作》实验的答案

合集下载

数据库查询语句实验报告及答案

数据库查询语句实验报告及答案

1.找出所有供应商的姓名和所在城市。

select sname,city from S表2.找出所有零件的名称,颜色,重量;select pname,color,weight from P表3.找出使用供应商S1所供应零件的工程号码。

select jno from SPJ表where sno='S1'4.找出工程项目J2使用的各种零件的名称及其数量。

select pname,qty from 表7,表5 where 表5.pno=表7.pno and 表7.jno='J2'5.找出上海厂商供应的所有零件的号码。

select distinct pno from 表7 where sno in (select sno from 表4 where city='上海')6.找出使用上海产的零件的工程名称。

select jname from 表6,表7,表4 where 表6.jno=表7.jno And 表7.sno=表4.sno And 表4.city='上海'8.全部红色零件的颜色改成蓝色。

update 表5 set color='蓝' where color='红'9. 由S5供给J4的零件P6改为由S3供应.update 表7 set sno='S3'where sno='S5'and jno='J4'and pno='P6'10.从供应商关系中删除S2的记录,并从供应商情况关系中删除相应的记录。

delete from 表4 where sno='S2'delete from 表7 where sno='S2'11.请将(S2,J6,P4,200)插入相应的情况关系。

insert into 表7(sno,jno,pno,qty) values ('S2','J6','P4',200)。

实践练习答案-第6章数据查询

实践练习答案-第6章数据查询

实践练习数据查询注意,首先在C盘根目录创建文件夹Teaching,执行脚本文件“PracticePre-第6章数据查询.sql”,创建数据库、表,并向表中导入实验数据。

步骤1现在需要制作一个全校的花名册,包括所有学生的学号、姓名、性别、所在班级名称以及所在系名称,使用SELECT语句实现该功能,结果如下图所示。

答案:SELECT s.stdID,s.stdName,s.gender,c.className,d.dptNameFROM Students s LEFT JOIN Classes c ON s.classCode=c.classCodeLEFT JOIN Departments d ON s.dptCode=d.dptCode GO步骤2每学期初,学校为不及格(60分以下)和缺考(没有成绩)的学生提供补考的机会。

使用查询语句为教务管理员提供必要的补考信息,如下图所示。

答案:SELECT s.stdID,s.stdName,r.courseName,t.tchName,d.dptNameFROM Studying y JOIN Students s ON y.stdID=s.stdIDJOIN Courses r ON y.courseID=r.courseIDJOIN Teachers t ON y.tchID=t.tchIDLEFT JOIN Departments d ON t.dptCode=d.dptCode WHERE y.mark IS NULL OR y.mark<60GO步骤3考试结束后要对每门课程的考试情况进行统计分析,使用SELECT语句为教务管理员进行课程成绩分析提供必要的数据,如下图所示。

答案:SELECT r.courseID AS 课程编号,r.courseName AS 课程名称,MAX(y.mark) AS 最高分,MIN(y.mark) AS 最低分,A VG(y.mark) AS 平均分FROM Studying y JOIN Courses r ON y.courseID=r.courseIDGROUP BY r.courseID,r.courseNameGO。

实验二数据查询(带答案)

实验二数据查询(带答案)

实验二数据查询(4学时)实验目的:(1)掌握SQL语言的数据查询语句实验内容:(1)将学生成绩数据库(XSCJ)导入SQL SERVER 2008,并做如下查询。

(注:数据文件和日志文件从服务器上下载直接导入))1)查询选修了课程的学生的学号;2)查询全体学生的姓名和出生年份,并将列别名改为XM和CSNF;3)查询年龄在18到20(包括18岁和20岁)之间学生的学号、姓名和系。

4)查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。

5)用LIKE查询课程名为DB_S程的课程号和学分。

6)查所有有成绩的学生学号和课程号。

7)查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄升序排列8)查询选修了课程的学生人数。

9)计算1号课程的学生平均成绩。

10)查询有3人以上(含3人)同学选修课程的课程号。

11)查询1号课程的间接先修课。

12)查询每个学生的学号、姓名、选修的课程名及成绩。

13)找出每个学生等于他选修课程平均成绩的课程号。

(2)将以下数据录入上次实验建立的BSXT数据库,并完成以下查询。

Teacher(教师表)Topic(选题情况表)1)查询全体学生的学号和姓名和电话。

2)查询全体学生的基本情况。

3)查询带了毕业生的老师的教师号。

4)查询教师“朱龙”基本情况。

5)查询所有姓“王”同学的基本情况。

6)统计每种学历老师的人数。

7)查询1组老师所带毕业生的基本情况(包括学号,姓名,教师号,教师姓名,毕业设计题目)(注:1组老师只能带1组的学生)8)查询所有学生的选题情况(包括没有选题的学生),包括学号,姓名,题目名称,教师名称。

(注:要求老师的组号和学生的组号相一致.)--1) 查询选修了课程的学生的学号;SELECT DISTINCT Sno FROM SC*//*--2) 查询全体学生的姓名和出生年份,并将列别名改为XM和CSNF;SELECT Sname XM,2017-Sage CSNF FROM Student*//*--3) 查询年龄在18到20(包括18岁和20岁)之间学生的学号、姓名和系。

实验4数据查询答案

实验4数据查询答案

上机_4_:DML的数据查询上机学时:2上机类型:(验证)上机要求:(必修)一、上机目的本次上机了解DML语言的SELECT语句对数据的查询,学会SQL Server 2005的查询窗口中用DML语言对表中的数据进行简单查询、嵌套查询和组合查询。

二、上机内容及步骤1.打开数据库SQL Server 2005的查询窗口,利用以前建立的Student,Course,SC进行查询。

向各表中插入相关记录,并能验证该查询。

3.简单查询1)查询全体学生的详细记录;Select * From student2)查询所有选修过课的学生的学号;Select distinct sno from sc3)查询考试成绩不及格的学生的学号;Select sno from sc where score<604)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;Select sname,ssex from student where sdept in (‘IS’,’MA’,’CS’)5)查所有姓刘的学生的姓名、学号和性别;Select sname,sno,ssex from student where sname like ‘刘%’6)查课程名含有DB_Design 课程的课程号和学分;Select cname,credit from course where cname like ‘%DB_Design%’7)查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列;Select sno,score from sc where cno=’3’ order by score8)查询学习1号课程的学生最高分数;Select max(score) from sc where cno=’1’4.在查询分析器窗口下用SELECT语句完成连接查询:1)查询各个课程号与相应的选课人数;Select cno,count(sno) from sc group by cno2)查询每个学生及其选修课程的情况;Select student.*,sc.* from student,sc where student.sno=sc.sno3)查询选修2号课程且成绩在90分以上的所有学生;Select student.sno,sname,o,sc.score from student,sc where student.sno=sc.sno and cno=’2’ and score>=904)查询每个学生及其选修的课程名及其成绩;Select student.*,ame,sc.score from student,sc,course where student.sno=sc.sno and o=o5)查询每一门课的间接先行课(即先行课的先行课)。

数据库数据查询实验报告和答案.doc

数据库数据查询实验报告和答案.doc

数据库数据查询实验报告和答案韶关学院学生实验报告册实验课程名称:数据库技术与应用实验项目名称:数据库的数据查询实验类型(打√):(基础☑、综合、设计)院系:专业班级:姓名学号:指导老师:韶关学院教务处编制一、实验预习报告内容预习日期:10月10月22日(星期二第七八节)实验同组人:如有实验数据表格,学生在实验预习时应画好实验数据表格,供实验时填写数据(本页如不够,可另附相同规格的纸张)。

指导教师批阅及签名签名:年月日三、实验报告内容9月24日实验报告内容原则上应包含主要实验步骤、实验数据计算(实验操作)结果、实验结果(疑问)分析等项目。

实施内容:一、根据实验要求完成实验:(写明步骤和截图)1、在数据库studentsdb中,新建表studentdb_info,curriculum,grade。

并输入相应的数据,如图1、2和3所示。

图1图2图32、在studentsdb数据库中,使用下列SQL语句将输出什么?(1)selectcount(*)fromgrade结果如图4所示:图4(2)selectsubstring(学生姓名,1,2)fromstudent_info结果如图5所示:图5(3)selectupper(kelly)结果如图6所示:图6(4)selectreplicate(kelly,3)结果如图7所示:图7(5)selectsqrt(分数)fromgradewhere分数>=85结果如图8所示:图8(6)select2,3,power(2,3)结果如图9所示:图9(7)selectyear(getdate()),month(getdate()),day(getdate())结果如图10所示:图102、在studentsdb数据库中使用select语句近基本查询。

(1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。

执行如下语句:select学号,学生姓名,出生日期fromstudent_info结果如图11所示图11(2)查询学号为0002的学生的姓名和家庭住址执行如下语句:select学生姓名,家庭地址fromstudent_infowhere学号=0002结果如图12所示图12(3)找出所有男同学的学号和姓名。

数据库实验 数据操纵及数据查询

数据库实验  数据操纵及数据查询

实验二数据操纵及数据查询目的和要求(1)学会用管理工具和T-SQL命令中对数据库表进行插入、修改和删除等操作;(2)数据更新操作时要注意数据完整性;(3)掌握基于表与视图的简单查询与复杂查询。

实验准备(1)了解对表数据有哪几种更新操作;(2)样本数据录入;(3)回顾数据完整性知识,在进行数据更新时保证数据的完整性。

实验内容一、数据更新insert语句注:如果插入的数据与约束或规则的要求产生冲突,或者值的数据类型与列的数据类型不匹配,insert将执行失败。

【练习1】将样本数据通过工具或T-SQL命令录入实验一中创建的三张表,并通过管理工具查看S表中的全部数据【练习2】使用SQL命令查看R表中的前5条选课记录【练习3】创建表S1(sno,sname,speiality),将S表中“计算机”专业的学生的学号、姓名、专业名三类信息插入到表S1中,并用select语句查看插入结果。

【练习4】更改S表数据,将学号=…001101‟的学生的备注列值改为…三好学生‟(将执行通过的SQL语句记录在此)。

【练习5】将姓名为“罗林琳”的同学的专业改为“通信工程”,备注改为“转专业学习”,学号改为“001241”,并将S表中所有“通信工程”专业的学生的总学分都增加10【练习6】删除S表中的学号=…001101‟的行【练习7】删除S表中总学分小于40的行二、数据查询【练习8】查询表S中计算机专业同学的学号、姓名和总学分。

【练习9】查询表S中的所有列。

(将执行通过的SQL语句记录在此)【练习10】查snosno询S表中计算机专业同学的学号、姓名和总学分,结果中各列的标题分别显示为number,name和mark。

(将执行通过的SQL语句记录在此)【练习11】对数据库的S表只选择专业名和总学分,消除结果集中【练习12】查询数据库S表中通信专业总学分大于等于42的同学的情况(将执行通过的SQL语句记录在此)。

【练习13】查询数据库S表中计算机专业的学生情况。

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

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

实验7 数据查询【实验内容】7.1 单表查询1、指定列或全部列查询1)查询S表中全体学生的详细记录。

use jxsk select*from S2)查询所有学生的姓名及其出生年份。

use jxsk select SN,2012-AGE from S2、按条件查询及模糊查询1)查询考试成绩有不及格的学生的学号。

use jxsk selectdistinct SNO from SC where SCORE<60 2)查询年龄在20 — 23岁之间的学生的姓名、系名和年龄。

use jxsk select SN,DEPT,AGE from Swhere AGE>=20 and AGE<=303)查询姓李的学生的姓名、学号和性别。

use jxsk select SN,SNO,SEX from Swhere SN like'李%'4)查询名字中第二个字为“明”字的男学生的姓名和系名。

use jxsk select SN,DEPT from Swhere SN like'_%明'and SEX='男'3、对查询结果排序1)查询信息系、计算机系学生的姓名、系名,结果按系名升序,按姓名降序排序。

use jxsk select SN,DEPTfrom Swhere DEPT='信息'OR DEPT='计算机'orderby DEPT,SN DESC2)查询所有有课程号C2成绩的学生的学号、课程号和成绩,并按成绩降序排序。

use jxsk select SNO,CNO,SCOREfrom SCwhere CNO='C2'and SCORE isnotnullorderby SCORE DESC4、使用聚集函数的查询1)查询计算机系学生总人数。

use jxsk select COUNT(*)from Swhere DEPT='计算机2)查询选修了微机原理课程的学生人数、平均成绩和最高成绩。

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

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

实验三数据查询(参考答案)实验目的□学会利用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.查询选修了“数据结构”课程的学生学号、姓名及课程成绩。

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

《数据查询与操作》实验一、实验目的与要求1、理解简单查询和复合查询的意义。

2、掌握SELECT语句和各子句的使用。

3、掌握多表查询和子查询的使用。

4、掌握INSERT、UPDATE和DELETE语句的使用。

二、实验平台1、操作系统:Windows XP或Windows 20032、数据库管理系统:SQL Server 2005三、练习1、插入数据1)在“人事管理系统”数据库“员工信息”表中,插入一个新员工信息(员工编号‘100508’、员工姓名‘苏娜’、所在部门编号‘10005’、性别’女’籍贯‘河北’)该员工还没安排职位。

insert into员工信息(员工编号,员工姓名,所在部门编号,性别,籍贯)values('100508','苏娜','10005','女','河北')2)在“人事管理系统”中,新增一个员工信息(员工编号‘100509’、员工姓名‘小龙女’、所在部门编号‘10001’、籍贯‘河南’)。

insert into员工信息(员工编号,员工姓名,所在部门编号,籍贯)values('100509','小龙女','10001','河南')3)将“人事管理系统”数据库的“员工信息”表中籍贯为“河南”并且所在部门编号为”10001”数据插入到“新员工信息”表中。

create table 新员工信息(员工编号int not null,员工姓名varchar(50) not null,所在部门编号int null,入职时间datetime null)insert into新员工信息(员工编号,员工姓名,所在部门编号)select员工编号,员工姓名,所在部门编号from员工信息where所在部门编号='10001'and籍贯='河南'4)将“人事管理系统”数据库中技术部门的员工的简明信息(包括:员工编号、员工姓名、部门名称、所任职位和文化程度)保存到表“技术部人员”中。

select员工编号,员工姓名,部门名称,所任职位,文化程度into技术部人员from部门信息b join员工信息yon b.部门编号=y.所在部门编号where部门名称='技术部'2、更新数据1)在“人事管理系统”数据库“部门信息”表中,将部门的员工人数设置为10。

update部门信息set员工人数=102)在“人事管理系统”数据库“员工信息”表中,将文化程度为“大专”,并且在“2005-05-01”到“2007-05-01”之间入职的所有员工调动到编号为“10006”的部门去。

update员工信息set所在部门编号=10006where入职时间between'2005-05-01'and'2007-05-01'and文化程度='大专'3)在“人事管理系统”数据库中对部门进行了重组和调整,原来编号为10006的部门名称变为“市场开发部”,人数也调整为20人。

update部门信息set部门名称='市场开发部',员工人数=20where部门编号=100063、删除数据1)在“人事管理系统”数据库中,编号为“100509”的新员工升级为正式员工,需要在“新员工信息”表中删除他的记录。

delete from 新员工信息where 员工编号=1005092)在“人事管理系统”数据库中,删除“新员工信息”表中所有在编号为“10005”部门工作的员工记录。

delete from 新员工信息where 所在部门编号=100053)在“人事管理系统”数据库中,删除“新员工信息”表中,所有的员工记录。

delete from 新员工信息4)在“人事管理系统”数据库中,需要删除20%的员工信息。

Delete top 20 percent from 新员工信息在“教务管理系统”中操作。

(一)添加教务信息1、在2003年级中创建一个新班级,编号为20031340000200、班级名称为“环境与科学”、班级人数限制在60、暂定班主任为“张浩太”。

编写INSERT语句完成这操作。

insert into班级values('20031340000200',2003,'环境与科学',60,'张浩太')2、添加一个来自“上海”、“汉族”、姓名为“苏娜”的女生信息,并设置该生的学号为“200330000201”、班级编号为“20031340000200”。

编写INSERT语句完成这操作。

insert into学生信息(学号,姓名,班级编号,民族,籍贯)values('200330000201','苏娜','20031340000200','汉','上海')3、创建一个学生补考表,表中数据来自成绩表,条件为成绩小于60分,要求补考表中仅显示学生的学号和补考课程的编号。

编写SELECT INTO语句完成这操作。

select学号,课程编号into补考表from成绩表where成绩<60(二)更新教务信息4、学生“胡少华”选择了新的专业,并调换到了编号为“20021340000104”的班级。

编写UPDATE语句完成这操作。

update学生信息set班级编号='20021340000104'where姓名='胡少华'5、调整课程“中外美术名作鉴赏”到班级“美术01”开设。

update课程信息set班级编号=(select班级编号from班级信息where班级名称='美术')where课程名称='中外美术名作鉴赏'(三)删除教务信息6、学生“胡少华”已经学完所有课程并顺利毕业,删除他的学生信息。

编写DELETE语句完成这操作。

delete成绩表where学号in(select学号from学生信息where姓名='胡少华')delete学生信息where姓名='胡少华'7、将学生“陈霞”所在班级的其他学生并且成绩合格(大于60)的学生成绩删除。

编写DELETE语句完成这操作。

delete成绩表where学号in(select学号from学生信息where班级编号=(select班级编号from学生信息where姓名='陈霞'))8、删除前面创建的学生补考表。

delete 补考表四、实验内容1、在“教务管理系统”数据库“班级信息”表中,查询分配了班主任的班级信息。

select*from班级信息where班主任is not null2、在“教务管理系统”数据库“学生信息”表中,根据籍贯查询各省学生人数,并显示省份和人数信息。

select籍贯,count(*)as人数from学生信息group by籍贯3、在“教务管理系统”数据库中,根据相关表的内容,查询平均成绩大于70的课程信息。

select*from课程信息where课程编号in(select课程编号from成绩表group by课程编号having avg(成绩)>70)4在“人事管理系统”数据库“员工信息”表中,把政治面貌是“党员”的职工信息保存到表名为“党员信息”新表中。

select*into党员信息from员工信息where政治面貌='党员'5在“人事管理系统”数据库“员工信息”表中,把员工“李朋”所任职位更改为“副经理”。

update员工信息set所任职位='副经理'where员工姓名='李朋'6、在“教务管理系统”数据库的“成绩”表中,按照学号分组,查询学生课程成绩都大于等于80的学号。

select学号from成绩表group by学号having min(成绩)>807、在“教务管理系统”数据库的“成绩”表中,查询课程编号为’12’课程的总分。

select sum(成绩) as 总分from 成绩表where 课程编号='12'8、从“教务管理系统”数据库中,查询人数超过45人所在班级中的学生的学号、姓名和班级名称。

select a.学号,a.姓名,b.班级名称from学生信息a,班级信息bwhere a.班级编号= b.班级编号and b.人数>459、在“教务管理系统”数据库中,查询出所有非计算机系的学生信息,并显示出这些学生的考试成绩,再按成绩进行降序排列显示,要求返回学生的学号、姓名、班级编号、课程编号和成绩信息。

(多表查询)select a.学号,a.姓名,a.班级编号,c.课程编号,d.成绩from学生信息a,班级信息b,课程信息c,成绩表dwhere a.班级编号= b.班级编号and b.班级编号= c.班级编号and c.课程编号=d.课程编号and b.班级名称not like'计算机%'order by d.成绩desc10、在“教务管理系统”数据库中,查询出任意一个大于平均成绩的学生的学号、姓名、班级编号、课程编号和成绩信息select a.学号,a.姓名,a.班级编号,b.课程编号,b.成绩from学生信息a ,成绩表bwhere a.学号=b.学号and成绩>any(select avg(成绩)from成绩表)五、实验过程写出相应的T-SQL语句,并写出T-SQL语句执行结果的前两行记录。

六、实验总结简述实验完成情况、实验过程中各自碰到的问题、各自对实验目的掌握情况。

相关文档
最新文档