实验三 数据查询
3数据库查询实验(1)
实验三数据库查询实验(1)数据库的简单查询和连接查询实验课时安排:2课时一、实验目的和要求使学生掌握SQL Server查询分析器的使用方法.加深对SQL和Transact-SQL语言的查询语句的理解。
熟练掌握简单表的数据查询、数据排序和数据联结查询的操作方法。
二、实验内容1 简单查询操作该实验包括投影、选择条件表达、数据排序、使用临时表等。
2 连接查询操作该实验包括等值连接、自然连接、求笛卡尔积、一般连接、外连接、内连接、左连接、右连接和自连接等。
三、实验方法1 将查询需求用Transact-SQL语言表示。
2 在SQL Server查询分析器的输入区中Transact-SQL查询语句。
3 设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。
4 发布执行命令,查看查询结果.如果结果不正确,进行修改.直到正确为止。
5 查询分析器及使用方法。
查询分析器是在开发数据库应用系统时使用最多的工具。
查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储).查询分析功能主要通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。
在查询生成器中的左边窗口是对象测览器,其中按树结构列出了数据库对象;右上方是SQL代码区域.用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果、对于T-SQL语句的执行结果,在结果区中可以有4种不同的输出形式:标准执行将结果直接显示在结果区网格执行将结果以表格形式显示在结果区.计划执行显示执行计划;索引分析为在结果区中显示查询的索引情况。
上述输出形式,可以通过菜单或按钮选择。
四、实验步骤1 基本操作实验(1)简单查询实验l)用Transact-SQL语句表示下列操作.在学生选课库中实现其数据查询操作.①求数学系学生的学号和姓名。
实验三 数据库查询
12、在“学生成绩表”中列出已登记成绩的学生个数;
13、在学生成绩表中,显示所有学生记录,按照平时成绩和期末成绩降序排列;
四、分析与讨论
通过本次实验,基本掌握了数据的一些基本查询,可以对单表的简单查询和复杂查询,两表的连接查询和嵌套查询等等,在实验中要注意一下几点:
1、在写查询语句时,要注意查询的属性名称要与原表中的属性名称要一样,否则会出现错误,导致无法查询;
2、编写select语句,显示“课程信息表”中的所有字段;
3、在学生档案表中,显示“XXXX.XX.XX”的格式显示出生日期。
4、在学生档案表中查询所有湖北学生的基本信息;
5、在教学任务表中列出所有任课教师ID,将重复的记录去掉;
6、在学生档案表中列出所有学生籍贯,将重复的记录去掉;
7、在学生成绩表中,显示学生所有记录,并期末成绩降序排列;
实验内容三
实验序号:三 实验项目名称:数据库查询Βιβλιοθήκη 实验地点指导教师李晖
实验时间
一、实验目的及要求
熟练掌握SQL SELECT语句,能够运用该语句完成各种查询。
二、实验设备(环境)及要求
台式机、SQLServer2005
三、实验内容与步骤
1、编写select语句,显示“教师档案表”中的姓名、性别、职称、单位字段:
8、在学生成绩表中,求平时成绩的最大值、最小值、平均值;
9、将学生成绩表中所有期末成绩大于80分的学生的学号、课程ID、平时成绩和期末成绩的查询结果输出到“优等生成绩表”的新建表中,然后对“优等生成绩表”进行查询。
10、列出所有女教师的ID、姓名以及所带课程;
11、查询北京学生的学号、课程ID和选课类别;
实验三 数据查询结果
实验三数据查询一、实验目的掌握查询语句的使用方法,重点掌握连接查询和嵌套查询,理解查询的执行过程。
二、预备知识查询语句的基本格式如下:SELECT <目标列名序列> --需要哪些列FROM <数据源> --来自于哪些表[WHERE <检索条件>] --根据什么条件[GROUP BY<分组依据列>] --分组[HA VING <组提取条件>] --筛选[ORDER BY<排序依据列>] --排序三、实验内容1、还原实习二中创建的“gongcheng”数据库和实习一中创建的“学生选课管理”数据库。
2、在“gongcheng”数据库中完成以下查询:(1)查询所有供应商所在的城市。
查询语句:select cityfrom s查询结果:(2)查询零件重量在10-20之间(包括10和20)的零件名和颜色。
查询语句:select pname,colorfrom Pwhere Weight between 10 and 20查询结果;(3)查询工程项目的总个数。
select count(pno)from p查询结果:(4)查询所有零件的平均重量。
select AVG(weight)from p查询结果:(5)查询供应商S3供应的零件号。
select p.pnofrom s,P,spjwhere s.Sno=SPJ.Sno and P.Pno=SPJ.Pno and s.Sno='s3' 查询结果为:(6)查询各个供应商号及其供应了多少类零件。
select s.sno,COUNT(distinct p.pno)from s,P,spjwhere s.Sno=SPJ.Sno and P.Pno=SPJ.Pnogroup by s.sno(7)查询供应了2类以上零件的供应商号。
select s.sno,COUNT(distinct p.pno)from s,P,spjwhere s.Sno=SPJ.Sno and P.Pno=SPJ.Pnogroup by s.snohaving COUNT(distinct p.pno)>2查询结果为:(8)查询零件名以“螺”字开头的零件信息。
实验三数据查询(参考答案)
实验三数据查询(参考答案)实验目的□学会利用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.掌握SQL的单表查询操作2.掌握SQL的连接查询操作3.掌握SQL的嵌套查询操作4.掌握SQL的集合查询操作二、[实验内容]本实验的主要内容是:1.简单查询操作。
包括投影、选择条件表达,数据排序,使用临时表等。
2.连接查询操作。
包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。
3.在SQL Server查询分析器中,使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。
4.组合查询与统计查询。
(1)分组查询实验。
该实验包括分组条件表达、选择组条件的表达方法。
(2)使用函数查询的实验。
该实验包括统计函数和分组统计函数的使用方法。
(3)组合查询实验。
(4)计算和分组计算查询的实验。
三、[实验方法]1.将查询需求用Transact-SQL语言表示。
2.在SQL Server查询分析器的输入区中输入Transact-SQL查询语句。
3.设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。
4.发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。
5查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。
查询分析功能主要是通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。
图5- 错误!未定义书签。
SQL Server 2000查询分析器查询分析器的界面如图5- 错误!未定义书签。
所示。
在查询生成器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果。
实验三 数据库中的数据查询及视图操作实验报告
实验三数据库中的数据查询及视图操作实验报告实验三数据库中的数据查询及视图操作实验报告一、实验目的本实验的主要目的是熟悉数据库中的数据查询和视图操作。
通过本实验,我们可以掌握使用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语句后,我们可以得到每个班级的人数统计结果。
实验三 数据查询
实验三数据查询【实验目的】1.学会使用企业管理器查询数据2.掌握使用SQL语句查询数据【实验内容】1.使用企业管理器进行数据查询2.在查询分析器内使用SQL语句进行数据查询【实验准备】1.复习与本次实验内容相关知识2.复习查询分析器的使用3.对本次实验中要求自己完成的部分做好准备(第二部分,请预先写出来) 【实验步骤】1.用企业管理器进行数据查询o启动企业管理器,注册连接。
o展开服务器-->展开数据库-->展开自己的数据库-->单击表。
o在需要查询的表上单击右键,在弹出的快捷菜单中选择"打开表(O)",其下级菜单即为查询命令:▪返回所有行(A) --该命令以网格方式显示指定表的所有记录▪返回首行(T)... --该命令以交互方式输入要返回的行数▪查询(Q) --打开查询窗口,以图形方式设计查询oo请从学生表(U_STUDENTS)上右击,使用"查询(Q)"命令建立一个查询,请选中学号(ID)、姓名(NAME)两个字段,再单击上面的执行按钮(!按钮)执行查询,查看结果。
oo再在关系图窗格内右击鼠标在弹出菜单中选择添加表,添加班级表(U_CLASSES),在班级表的ID字段上按下鼠标左键,拖至学生表的CLASS_ID上建立关联,在班级表上选中班级(CLASS)、系(DEPARTMENT)字段,再在网格窗格上选择姓名(NAME)行上选择排序类型为"升序"。
执行该查询,查看结果。
结果如下图所示。
(注意查看SQL窗格内的SQL查询语句)oo该操作实现了从班级表、学生表中查询出所有学生的学号(ID)、姓名(NAME)、班级(CLASS_ID)、所在系(DEPARTMENT)的记录数据。
o关闭企业管理器2.用SQL语句查询数据o启动查询分析器o在查询分析器中分别执行下列查询语句(有的语句请自己写出),体会或说明各语句的功能(请将下面的语句复制到查询分析器,逐条执行--要执行一条语句请选中该语句再按F5或单击执行铵钮,如下图所示)。
实验3 数据查询
实验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之后,从而实现表的连接。
实验3数据查询
实验3数据查询实验3 数据查询实验目的1、掌握查询语句的基本组成和使用方法;实验内容1、School数据库查询(1) 还原school数据库;RESTORE DATABASE SCHOOL FROM DISK’D:\BACK-UP’;(2) 查询全体学生的信息,将学生按年龄升序排序;SELECT * FROM STUDENTORDER BY SAGE ASC;(3) 查询“信息系”学生的学号,姓名和出生年份;SELECT SNO,SNAME,2016-SAGE AS BIRTH FROM STUDENT WHERE SDEPT=’信息系’;(4) 查询考试不及格的学生的学号;SELECT DISTINCT SNO FROM SCWHERE GRADE<’60’;(5) 查询选修了课程的学生的学号和姓名;SELECT SNO,SNAME FROM STUDENTWHERE SNO IN (SELECT SNO FROM SC )(6) 查询年龄在20-23岁之间的学生的姓名,系,年龄;SELECT SNAME,SDEPT,SAGE FROM STUDENTWHERE SAGE BETWEEN 20 AND 23;(7) 查询同时选修了“计算机导论”,“高等数学”课程的学生的学号,姓名;SELECT * FROM COURSEWHERE CNAME IN(‘高等数学’,’计算机导论’)AND NOT EXISTS(SELECT * FROM SCWHERE SNO=STUDENT.SNO ANDCNO=/doc/3210441014.html,O));(8) 查询姓“张”的学生的基本信息;SELECT * FROM STUDENT ]WHERE SNAME LINKE ‘张%’;(9) 查询选修了课程的学生的总人数;SELECT COUNT(DITINCT SNO) FROM SC;(10) 查询选修了“C05”课程的的学生成绩单,要求输出学号,姓名,成绩,结果按班级升序,成绩降序排列;SELECT SNO,SNAME, GRADE FROM STUDENT,SCWHER E(/doc/3210441014.html,O=’C05’ AND STUDENT.SNO=SC.SNO)ORDER BY LEFT(STUDENT.SNO,5) ASC,GRADE DESC;(11) 统计各门课程的成绩,要求输出课程代号,课程名,平均成绩,选修人数。
数据库原理及应用.实验3.数据查询与更新
数据库原理及应⽤.实验3.数据查询与更新实验报告课程名称:数据库原理及应⽤实验项⽬名称:数据查询与更新实验时间:2021年4⽉12⽇实验⽬的: (1) 观察查询结果, 体会SELECT语句实际应⽤; (2) 要求能够在查询分析器中使⽤SELECT语句进⾏简单查询。
(3) 熟练掌握简单表的数据查询、数据排序和数据连接查询的操作⽅法。
(4) 熟悉使⽤UPDATE/INSERT/DELETE/ALTER语句进⾏表操作;实验环境: MySQL 5.7.33、SQLyog-11.2.4实验内容及过程:在实验2的基础上,完成以下题⽬1. 在查询分析器中⽤SQL语句完成以下题⽬单表查询找出所有供应商的姓名和所在城市。
复制SELECT SNAME,CITY FROM S找出所有零件的名称、颜⾊、重量。
复制SELECT PNAME,COLOR,WEIGHT FROM P找出使⽤供应商S1所供应零件的⼯程号码。
复制SELECT JNO FROM SPJ WHERE SNO='S1'列出所有地址在北京的供应商姓名。
复制SELECT SNAME FROM S WHERE CITY='北京'模糊查询,找出名字包含"螺丝"两个字且颜⾊为红⾊的零件名称。
复制SELECT PNAME FROM PWHERE PNAME LIKE '螺丝_' AND COLOR='红'统计不同城市⼯程项⽬的数量,结果显⽰"城市"、"⼯程项⽬数合计"。
复制SELECT CITY,COUNT(JNO) AS '⼯程项⽬书合计'FROM J GROUP BY CITY连接查询和嵌套查询找出⼯程项⽬J2使⽤的各种零件的名称及其数量。
复制SELECT PNAME,QTYFROM P,SPJWHERE P.PNO=SPJ.PNO AND JNO='J2'找出上海⼚商供应的所有零件号码(要求⽤⾃然连接和嵌套查询两种⽅法)。
实验3-数据查询
《数据库原理》实验报告实验名称数据查询实验室实验日期查询学生的基本信息查询“CS”系学生的基本信息查询“CS”系学生年龄不在19到21之间的学生的学号、姓名找出所有学生中的最大年龄找出“CS”系年龄最大的学生,显示其学号、姓名找出各系年龄最大的学生,显示其学号、姓名统计“CS”系学生的人数统计各系学生的人数,结果按升序排列按系统计各系学生的平均年龄,结果按降序排列查询每门课程的课程名查询无先修课的课程的课程名和学时数统计无先修课的课程的学时总数统计每位学生选修课程的门数、学分及其平均成绩统计选修每门课程的学生人数及各门课程的平均成绩找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列查询选修了“1”或“2”号课程的学生学号和姓名查询选修了“1”和“2”号课程的学生学号和姓名查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩)查询没有选修课程的学生的基本信息查询选修了3门以上课程的学生学号查询选修课程成绩至少有一门在80分以上的学生学号查询选修课程成绩均在80分以上的学生学号查询选修课程平均成绩在80分以上的学生学号六、总结通过本次实验,我基本掌握了SQL语句中的各种查询方式,简单查询、连接查询、嵌套查询、使用聚合函数的查询、对数据的分组查询、对数据的排序查询等,但是对比较复杂的查询方式,还不能熟练运用,特别是其WHERE条件,有时,还不能够准确描述,这将在以后的练习中有所加强。
七、源程序清单建立S数据库CREATE DATABASE S;建立关系表StudentCREATE TABLE Student( Sno CHAR(9) PRIMARY KEY,Sname CHAR(20),Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));建立关系表Coursecreate table Course( Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint,foreign key (Cpno) references Course(Cno)。
数据库实验3-SQL语言之数据查询(简单查询)
实验三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).查询产品名称含有“热水器”的产品信息。
数据库实验三_查询
南昌大学实验报告---实验三查询学生姓名:丁金芝学号:6100511080 专业班级:管理科学与工程类112班实验类型:■验证□综合□设计□创新实验日期:实验成绩:一、实验目的1.掌握select语句的基本语法2.了解select语句中各子句的作用和特点3.掌握select语句的统计函数的作用和用法4.掌握子查询的用法5.掌握连接查询的用法二、实验内容与结果(一).简单查询1.select 选择列--1、选择所有列(*),查询学生表中的所有纪录。
--2、选择特定列,查询学生表中全体学生的学号,姓名,性别。
--3、计算列,查询选课表中给每个学生加了20分后的所有课号和成绩末分数显示出来。
重复。
--6、限制返回行数--top n 关键字;只显示表中前面n条记录。
--top n percent 关键字;只显示前n%条记录。
--显示学生表中的前3条记录。
--显示学生表中的前3%条记录2 .where 子句--1、比较运算符:(1)查询分数<80分学生的学号、成绩、课号。
(2)查询学号001学生的情况。
--2、范围运算符:查询学生分数在70-80之间的学生的学号、课号。
(包括70分、80分)--3、列表运算符: (1)查询学号为'001' 、'005'、'007' 、'008'的学生学号。
(2)查询学生成绩不在60-70之间的学生的学号、课号、成绩。
--4、匹配运算符: (1)查询姓刘学生的信息。
(2)查询姓刘单名的学生信息。
(3)查询01-03年级学生的信息。
--5、空值运算符,查询变动情况为空的学生--查询学生课程编号为'05'的课程的成绩,并按成绩的降序进行排列。
4.使用函数:--1、计算学号为001的学生总分数、平均分。
--2、集合函数 avg()、count()、count(*)、max()、min()、sum()(1)查询学期成绩表中的平均分,最大分数,最小分数,总和(前面四项为查询出的相应字段)(2)统计课程表中所有记录数和各个列中值的个数,要求不能重复。
实验3《数据查询与操作》实验
《数据查询与操作》实验三、实验内容1.在“人事管理系统”中,新增一个员工信息(员工编号…100508‟、员工姓名…小龙女‟、所在部门编号…10001‟、籍贯…河南‟)。
2.将“人事管理系统”数据库的“员工信息”表中籍贯为“河南”并且所在部门编号为”10001”数据插入到“新员工信息”表中。
3.在“人事管理系统”数据库“部门信息”表中,将部门的员工人数设置为10。
4.在“人事管理系统”数据库“员工信息”表中,将文化程度为“大专”,并且在“2005-05-01”到“2007-05-01”之间入职的所有员工调动到编号为“10006”的部门去。
5.在“人事管理系统”数据库中对部门进行了重组和调整,原来编号为10006的部门名称变为“市场开发部”,人数也调整为20人。
6.在“人事管理系统”数据库中,编号为“100503”的新员工升级为正式员工,需要在“新员工信息”表中删除他的记录。
7.在“人事管理系统”数据库中,删除“新员工信息”表中所有在编号为“10005”部门工作的员工记录。
8.在“人事管理系统”数据库中,需要删除20%的员工信息。
9.在“教务管理系统”数据库“班级信息”表中,查询分配了班主任的班级信息。
10.在“教务管理系统”数据库“学生信息”表中,根据籍贯查询各省学生人数,并显示省份和人数信息。
11.在“教务管理系统”数据库中,根据相关表的内容,查询平均成绩大于70的课程信息。
12.在commidtysell数据库中,根据相关表的内容,查询销售同类产品的商场编号(去除相同的行)。
13.在commidtysell数据库中,根据相关表的内容,查询买出产品数量最多的商场编号和销售总量信息。
14.在TeachingManageSYS数据库中,根据相关表的内容,统计年龄大于平均年龄的教师的Tname、Tsex、Tage、Trank,所教授课程的Cname,Credit,CouresHour。
15.在“人事管理系统”数据库“员工信息”表中,查询工龄大于4年的员工信息16.将学生“陈霞”所在班级的其他学生并且成绩不合格的学生成绩删除。
实验三《数据查询与操作》实验资料
530213
、掌握多表查询:嵌套查询的使用。
、掌握INSERT、UPDATE和DELETE语句的一般格式与使用方法。
、掌握视图的创建和删除、视图的NSERT、UPDATE和DELETE的应用
、操作系统:Windows XP或Windows 2003
、数据库管理系统:SQL Server 2005
xs1.班级编号= xs2.班级编号
xs1.学号=xk.学号
xs2.姓名='胡少华'
xk.成绩>=60
from 学生信息
学号in
学生信息.学号
学生信息,选课表
学生信息.学号=选课表.学号and 成绩>60 and 班级编号in(select 班级编号
学生信息
530213
into vi_xdx(学号,姓名,性别,政治面貌)
('20030000045','李流','男','党员')
、通过计算机专业学生的视图,实现计算机专业学号为200230000347的学生郑
01。淘宝店530213
vi_jsjstu
班级编号=
select 班级编号
班级信息
k.课程编号= x.课程编号
by 课程名称
、建立计算机专业学生的视图淘宝店530213
view vi_jsjstu
学生信息.*
学生信息,班级信息
学生信息.班级编号=班级信息.班级编号and 班级名称like'计算机%'
、查询需要重考的学生姓名及相应重考课程名称。
view vi_kstudent
实验三 数据查询(1)
实验三“教学管理系统”数据查询(1)一、实验内容1、在“教学管理系统”中,所有学生的基本信息都保存在学生信息表TB_Student中,请用SQL查询语句实现以下的查询要求:①查看学生表中所有学生的所有字段的信息;②查看学生表中所有学生的部分字段【StuID,StuName,Sex, ClassID】信息;③按班级查看某个班学生的部分字段【StuID,StuName,Sex, ClassID】信息;④按班级查看某个班学生的部分字段【StuID,StuName,Sex, ClassID】信息,而且先按字段【Sex】降序,再按字段【StuName】进行降序排列。
参考知识及代码:●简单SELECT查询另,两个关键字的学习:2、用计算列显示学生和学生选课信息①用“列别名”显示的【学生姓名】和【性别】字段的数据合成为一个【学生姓名(性别)】字段显示,如下图;②查看“学生信息表”中自己班(如“04网络(1)班”)学生的部分字段【StuID, StuName, Sex】信息,同时显示一个计算列【年龄】;③查看“课程班信息表”中的部分字段【CourseClassID, ClassID, TeacherID, MaxNumber, SelectedNumber】信息参考知识及代码:●试验参考代码:①用“列别名”显示的【学生姓名】和【性别】字段的数据合成为一个【学生姓②查看“学生信息表”中自己班(如“04网络(1)班”)学生的部分字段【StuID, StuName, Sex】信息,同时显示一个计算列【年龄】;③查看“课程班信息表”中的部分字段【CourseClassID, ClassID, TeacherID,3、SUBSTRING函数和LEN函数1)、请写出查询语句,显示“课程班信息表”中上课教师的系部信息和【TeachingTime】字段的字符长度信息,如下图所示:2)、请写出查询语句,显示“课程班信息表”中上课教师的系部信息和【TeachingTime】字段的字符长度信息,如下图所示:4、运用运算符查询学生相关信息①查询自己班级(如04网络(2)班)性别为“男”(或为“女”)的所有学生信息,只显示“学号、姓名、性别和出生年份”字段;②查询自己班级(如04网络(2)班)在某个出生年份段(如19-21岁)的所有学生信息,只显示“学号、姓名、性别和年龄”字段;③要查询一个学生的所有信息。
实验三数据查询(三)
实验三(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语言中最灵活的部分,必须仔细体会,多多上机练习,才能真正体会和理解其中的奥妙和细微差别。
本实验的目的就是让同学们通过练习掌握常用的查询语句和查询技巧。
请同学们反复练习,即使做对了也要抽时间再一次细细体会。
二、实验预习1、SQL中查询语句格式:select[all|distinct]<目标列表达式>[```]fromwheregroup by<列名>[having<条件表达式>]order by<列名>[asc|desc]2、连接查询有哪些不同的连接方式?有什么特点。
等值于非等值连接查询:连接运算符为=号时为等值连接,使用其他运算符称为非等值连接自身连接:连接操作不仅可以在两个表之间进行,也可以在一个表与其自己进行连接外连接:把舍弃的元组也保存在结果关系中,其他属性上填空值复合条件连接:where中使用多个连接谓词三、实验内容和要求在实验二建立的数据库和数据表(Student、SC、Course)的基础上,用SQL语句完成下列查询,并在SQL SERVER中得以验证:1、查询全体学生的基本信息。
(请写出两种方法)select *from student;或select Sno,Sname,Saex,Sage,Sdeptfrom student;2、现需要一个“计算机系”的点名册,点名册上只要学号、姓名、性别三个方面的信息(记得给出别名,好让查询出来的结果容易识别哦)。
Select Sno 学号,Sname 姓名,Ssex 性别From student;3、查询“信息系”学生的学号、姓名和出生年份(起个别名,不然查询出来的结果会很难看,不信你试试看,是不是结果表一点规律都没有?)。
select sno 学号,sname 姓名,2013-Sage 出生年份from studentwhere sdept=’计算机’;4、查询1号课程不及格的学生学号。
实验报告(实验三)
沈阳工程学院
学生实验报告
(课程名称:数据库系统原理)实验题目:数据查询(一)
班级学号姓名
日期地点指导教师
一、实验目的
掌握SQL查询命令:主要针对单表查询。
二、实验环境
Oracle10g数据库系统。
三、实验内容与要求
使用Select命令完成下列数据查询。
简单查询:
⑴查询全体顾客的编号和姓名。
⑵查询全部商品的详细记录。
⑶查询顾客的姓名和出生年份。
⑷查询购买了商品的顾客的编号。
⑸查询职业(g_work)为“教师”的顾客的姓名。
⑹查询“沈阳市”年龄在20岁以下的顾客的编号和年龄。
⑺查询年龄在20—22岁的顾客的编号。
⑻查询“沈阳”、“大连”、“北京”的顾客信息。
⑼查询姓"王"的顾客的信息。
⑽查询购买商品编号为“0001”的顾客的编号和购买数量,结果按顾客编号升序,购买数量降序排列。
⑾查询顾客总人数。
⑿查询购买商品编号为“0001”的一次最高购买量。
⒀查询购买3次以上商品的顾客编号。
四、实验过程及结果分析
五、成绩评定
优良中及格不及格出勤
格式
内容
分析
总评
指导教师:
年月日。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理与应用》实验告书 2013 / 2014 学年第二学期计算机科学与工程学院
2014
实验三数据查询
一、实验目的
1、掌握查询语句的基本组成和使用方法
2、掌握常用查询技巧
2、完成下列查询
(1)查询全体学生的信息。
select * from student
(2)查询“信息系”学生的学号,姓名和出生年份。
select sno,sname,2014-sage from Students where SDEPT ='信息系'
(3)查询考试不及格的学生的学号。
select Distinct Sno from SC where Grade<60
(4)查询无考试成绩的学生的学号和相应的课程号。
select Sno,Cno from SC where Grade is null
(5)将学生按年龄升序排序。
select * from student order by Sage asc
(6)查询选修了课程的学生的学号和姓名。
select distinct student.Sno,Sname from student,SC where
student.Sno=SC.Sno
(7)查询年龄在20-23岁之间的学生的姓名,系,年龄。
select Sname,Sage,Sdept from student where Sage between 20 and 23
(8)查询同时选修了“计算机导论”,“高等数学”课程的学生的学号,姓名。
Select student.Sno,Sname from student,sc,Course where
student.sno=sc.sno and o=o and cname='高等数学' and
student.sno in (select sno from sc where cno=(select cno from course where cname='计算机导论'))
(9)查询姓“张”的学生的基本信息。
select * from student where Sname like '张%'
(10)查询“95211”班学生的选课情况,要求输出学号,姓名,课程名,成绩,按照学号升序排序。
select student.Sno,Sname,Cname,Grade from student,SC,course where student.Sno=SC.Sno and o=o and student.Sno like '95211%' order by student.Sno
(11)查询选修了课程的学生的总人数。
select count(distinct sno) from SC
(12)查询选修了“C05”课程的的学生成绩单,要求输出学号,姓名,成绩,结果按班级升序,成绩降序排列。
select student.Sno,Sname,Grade from student,SC where
student.Sno=SC.Sno and Cno='C05' order by left(student.Sno,5) asc,Grade desc
(13)统计各门课程的成绩,要求输出课程代号,课程名,平均成绩,选修人数。
(成绩为NULL值的不统计)
select o,Cname,avg(Grade),count(Sno) from course,Sc where o=o and Grade is not null group by o,Cname
(14)统计各门课程的不及格人数,要求输出课程代号,课程名,不及格人数。
select o,Cname,count(Sno) from SC,Course where
o=o and Grade<60 group by o,Cname
(15)查询选修平均成绩在75分以上的学生的学号,姓名,所在系。
select sc.sno,sname,sdept from student,sc where
student.sno=sc.sno group by sc.sno,sname,sdept having avg(grade)>75
(16)查询与“王大力”同一个系的学生的基本信息
select * from student where sdept in(select sdept from student where sname='王大力')
(17)查询选修平均分高于所有学生平均分的学生的学号,并按学号升序排列。
select student.Sno from student,SC where student.Sno=SC.Sno group by student.Sno having avg(Grade)>(select Avg(Grade) from SC) order by student.Sno asc
(18)查询未选修“VB”或“数据库基础”两门课的学生的学号,姓名,系名。
(要求用嵌套查询)
select sno,sname,sdept from Student where exists(select * from Course where cname='VB' and not exists(select * from SC where
sno=Student.sno and cno=o and ame!='数据库基础'))
(19)查询选修了全部课程的学生的学号,姓名,系名。
select sno,sname,sdept from student where not exists(select * from course where not exists (select * from sc where sno=student.sno and cno=o ) )
(20)输出“高等数学”课程成绩前三名的学生的学号,姓名,系名
select top 3 student.sno,sname,sdept from student,sc,course where student.sno=sc.sno and o=o and cname='高等数学' order by grade desc
三、实验总结:(20分)
通过本次试验,我对SQL Server查询语句有了更深刻的了解,学会了怎样用查询语句在SQL2005创建的数据库中查询想要的结果。
掌握了查询语句的基本组成及使用方法。
在查询时一定要找准所要查询的表,通过约束条件在表中进行精确查找。
不仅如此,我还了解了查询语句的嵌套使用,能够更好的实现数据查询,值得学习研究。
四、教师评分:。