实验3数据库 数据查询

合集下载

实验三 数据查询结果

实验三   数据查询结果

实验三数据查询一、实验目的掌握查询语句的使用方法,重点掌握连接查询和嵌套查询,理解查询的执行过程。

二、预备知识查询语句的基本格式如下: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  数据查询

实验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之后,从而实现表的连接。

实验三 数据库的查询

实验三    数据库的查询

实验三数据库的查询一、目的与要求1、掌握数据库对象的操作过程,包括创建、修改、删除2、熟悉表的各种操作,包括插入、修改、删除、查询3、熟练掌握常用SQL 语句的基本语法,加深对SQL和Transact-SQL语言的查询语句的理解。

二、实验设备与环境使用SQL Server 数据库管理系统提供的SSMS 和查询编辑器。

三、实验内容1、创建教材P82中的学生-课程数据库,并创建相应的数据表及完整性约束。

(需要在表中添加相应的记录(10条以上),请自行设计)2、在定义的“学生-课程数据库”中,使用T-SQL语句完成以下查询:(1)求计算机系(CS)学生的学号和姓名。

(2)求选修了数学的学生学号、姓名和成绩。

(3)求选修1号课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

(4)查找选修课程的平均成绩位于前三名的学生的学号。

(5)查询计算机系的姓刘且单名的学生的信息。

(6)查询至少选修两门课程的学生学号。

(7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。

(8)查询选修“数据库”课程,且成绩在80分以上的学生的学号和成绩。

(9)查询所有姓“王”的同学没有选修的课程名。

(请分别用exists和in完成该查询)(10)查询选修了全部课程的学生的姓名。

(请至少写出两种查询语句)(11)求选修了学生“200215121”所选修的全部课程的学生学号和姓名。

(12)查询每一门课的间接先修课。

(13)列出所有学生所有可能的选课情况。

(14)列出每个学生的学号及选修课程号,没有选修的学生的学号也一并列出。

(15)输出与“张立”同性别并位于同一个系的所有同学的姓名。

(请至少写出两种查询语句)(16)查询至少被两名男生选修的课程名。

(17)对被两名以上学生所选修的课程统计每门课的选课人数。

要求输出课程号和选修人数,查询结果按人数降序排列;若人数相同,按课程号升序排列。

实验3数据查询

实验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.数据查询与更新

数据库原理及应⽤.实验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 数据查询______ 实验类型:_________验证型实验_________实验环境:指导教师:__ ____ ___专业班级:__________计科0802班________姓名:____________ ____________学号:_______ ______ ______联系电话:________ ______ _电子邮件:_ _ _实验地点:____________________________实验日期: XX 年 4 月13日实验报告日期: XX 年 4 月17日成绩:__________________________一、实验目的? 掌握查询语句的一般格式;? 熟练掌握单表查询、连接查询、集合查询、统计查询和嵌套查询。

二、实验平台PC机,操作系统为windowsXX,SQLseverXX三、实验步骤、出现的问题及解决方案(不能解决的将问题列出)本次实验同样是在前2次实验的基础上进行的,也就是对上两次做好的实验进行数据查询。

其中包括:单表查询,连接查询,嵌套查询和集合查询。

上两次的代码就不在这里展示了。

在数据库“zjs”中完成查询。

完整代码如下:/*查询全体学生的学号与姓名。

*/select 学号,姓名from 学生表;/*查询每个学生及其选修课程的情况。

*/ select *from 选课表;/*查询所有姓“张”的学生的基本情况。

*/select *from 学生表where 姓名 like '张%';/*查询每一门课的间接先修课(即先修课的先修课)。

*/ select first.课程编号,second.先修课from 课程表 first,课程表 secondwhere first.先修课=second.课程编号;/*查询选修了课程名为“数据库”的学生学号、姓名及所在班级的名称。

实验3数据库 数据查询

实验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号课程不及格的学生学号。

实验3-数据查询

实验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_数据库与查询

数据库实验3_数据库与查询

数据库实验3_数据库与查询完善学⽣选课数据库,完成规定查询。

1. 将实际数据导⼊到SQL Server中,根据情况修改原来的表结构。

包括学⽣名单和课表,见FTP中的Excel⽂件:学⽣选课数据库.xlsx;导⼊数据后结果如下根据情况修改原来Student表结构根据情况修改原来Course表结构2. 随机插⼊学⽣选课信息和考试分数;新建⼀个学⽣选课信息和考试分数的excel表,并将其导⼊到数据库中。

运⽤SQL Server语句将上表导⼊到学⽣选课信息和成绩$表中Insertinto SC Select*from学⽣选课信息和成绩$;导⼊成功如图所⽰3. 查询所有男同学的姓名和学号;SQL语句为SELECT姓名,学号FROM名单$ WHERE性别='男';结果如下图所⽰4. 查询计算机系⼀班所有同学所有基本信息;SQL语句为SELECT* FROM名单$WHERE系别='计算机'AND班级='1';结果如图所⽰5. 查询20岁以下的同学的学号、姓名和年龄;SQL语句为SELECT学号,姓名,2012-⽣⽇年龄FROM名单$WHERE 2012-⽣⽇<20执⾏后结果如下:6. 查询出⽣⽇期在1988年到1995年之间同学的所有基本信息;SQL语句为:SELECT* FROM名单$WHERE⽣⽇>1988 or⽣⽇<1995执⾏后结果如下图所⽰:7. 查询姓张的同学的所有基本信息,按照班级降序排列;SQL语句为:SELECT* FROM名单$WHERE姓名LIKE'张%'ORDERBY班级DESC;执⾏后结果如下:8. 查询学分低于2分的必修课程;SQL语句为:SELECT*FROM课程$WHERE学分<2 AND课程类型='必修';执⾏结果为:9. 查询课程名中包含“设计”的课程信息;SELECT*FROM课程$WHERE课程名LIKE'设计%'OR课程名LIKE'%设计' 执⾏后结果如下:10. 查询课程中课程名为4个字的必修课的课名;SQL语句为:SELECT课程名FROM课程$WHERE课程名LIKE'____'AND课程类型='必修'; 执⾏后结果为:。

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

实验三--数据库中的数据查询及视图操作实验报告
实验内容和步骤针对实验一建立的数据库的表用select语句完成如下查询操作写出select语句并给出操作结果
长春大学计算机学院科学与技术专业
数据库原理实验报告
实验名称:
实验三数据库中的数据查询及视图操作(1)
班 级:
姓 名:
学 号:
实验地点:
日 期:
一、实验目的:
1.继续熟练SQL SERVER 2005/2008系统或KingBase ES V7.0的使用;
2.掌握SELECT语句的使用。
3.掌握单表查询,多表查询以及嵌套查询。
二、实验内容、要求和环境:
【实验要求】
注:将完成的实验报告重命名为:班级+学号+姓名+(实验三),(如:041540538张三(实验三)),提交到SPOC学堂。
1.实验课要携带教材、学习辅导、老师下发的实验报告文档等。
2.课前要对实验内容和步骤部分进行预习。
创新活动
THANKS !!!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考
(2)求供应工程J1零件P1的供应商号码SNO;
(3)求供应工程J1零件的供应商名SNAME;
(4)求供应工程J1零件P1的供应商名SNAME;
(5)求供应工程J1零件为红色的供应商号码SNO;
(6)求没有使用天津供应商生产的红色零件的工程号JNO;
(7)求至少用了供应商S1所供应的全部零件的工程号JNO;
(8)找出使用上海产的零件的工程名称;
2.针对学生-课程数据库中的三个表,用嵌套方法查询实现如下查询:
(1)查询选修了数据库的学生姓名。
(2)查询比计算机系CS所有学生年龄都大的学生信息。

数据库实验3-SQL语言之数据查询(简单查询)

数据库实验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).查询产品名称含有“热水器”的产品信息。

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

实验三  数据库中的数据查询及视图操作实验报告
(1)查询选修了数据库的学生姓名。
(2)查询比计算机系CS所有学生年龄都大的学生信息。
(3)列出“李勇”选修的所有课程的课名和成绩。
(4)查询数据库的先行课的课程名。
3.针对实验一建立的SPXS数据库中的三个表,实现如下查询:
(1)查询与商品“电视”颜色相同的商品名;
(2)查询不销售商品P2的商店名;
(3)查询至少销售商品P1、P2两种商品的商店名;
(4)所有商店都销售的商品号。
(5)只销售一种商品P4的商店名。
三、实验结果与分析:
写出操作语句,粘贴查询结果(粘贴结果要求粘贴SQL Server Managemet Studio整个窗口):
1.
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
2.
2.KingBase ES V7.0,人大金仓。
【实验内容和步骤】
针对实验一建立的数据库的表,用select语句完成如下查询操作,写出select语句,并给出操作结果。
1.针对SPJ数据库中的四个表,实现如下查询:
(1)求供应工程J1零件的供应商号码SNO;
(2)求供应工程J1零件P1的供应商号码SNO;
(1)
(2)
(3)
(4)
3.
(1)
(2)
(3)
(遇到什么问题?如何解决的?
第三题第二问不知道如何将在全部的sno中剔除当pno=’p2’是的sno.语句不知道怎样写出。
五、教师评语:
实验成绩:教师:(签名)年月日
创新活动
(3)求供应工程J1零件的供应商名SNAME;
(4)求供应工程J1零件P1的供应商名SNAME;

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

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

韶关学院
学生实验报告册
实验课程名称:数据库技术与应用
实验项目名称:数据库的数据查询
实验类型(打√):(基础☑
设计
院系:专业班级:姓名学号:
指导老师:
韶关学院教务处编制
一、实验预习报告内容
二、实验原始(数据)记录
实验时间:2013年10月22日(星期二第七八节)
三、实验报告内容
图图
图7
图16
图18
图20
图22
图37
注:1、如个别实验的实验报告内容多,实验报告册页面不够写,或有识图、画图要求的,学生应根据实验指导老师要求另附相同规格的纸张并粘贴在相应的“实验报告册”中。

2、实验报告册属教学运行材料,院系(中心)应按有关规定归档保管。

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=’李勇’ )。

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

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

实验三数据库的简单查询和连接查询实验1.实验目的了解SQL查询分析器的使用方法,加深对SQL语言的查询语句的理解。

掌握对表数据的简单查询,数据排序和数据连接查询的方法。

2.实验内容1)简单查询实验用SQL表达简单查询操作,包括投影、选择、数据排序等,在查询分析器中进行并显示正确的结果。

2)连接查询实验用SQL表达连接查询操作,包括等值连接、自然连接、求笛卡尔积、一般连接等,通过SQL查询分析器输入并显示正确的结果。

3.实验要求(1)基本操作实验1)简单查询用SQL语句表示下列操作:●求数学系学生的学号和姓名●求选修了课程的学生的学号●求选修了课程C1的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。

●求选修了课程C1且成绩在80-90分之间的学生学号和成绩,将成绩乘以0.8输出。

●求数学系或计算机系姓张的学生的信息。

●求缺少了成绩的学生的学号和课程号。

2)连接查询●查询每个学生的情况以及他(她)所选修的课程。

●求学生的学号、姓名、选修的课程名及成绩。

●求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。

●查询每一门课的间接先行课(即先行课的先行课)(2)提高操作实验用SQL语句表示学生和选课之间的内连接、左外部连接,选课和课程之间的内连接、右外部连接,在查询分析器中完成,说明结果含义。

4.实验报告要求1)写出实验的主要步骤2)写出实验操作的SQL查询语句、实验结果。

3)写出实验中出现的问题、注意事项和解决方法。

4)写出实验体会。

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

实验三数据查询一、实验目的关系数据库的查询语句是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号课程不及格的学生学号。

查询结果按照考试成绩降序排列。

Select snoFrom scWhere cno=1 and grade<60Order by grade desc;5、查询考试有不及格现象的学生的学号。

Select snoFrom scWhere grade<60;6、查询一下尚有无考试成绩的学生的学号和相应的课程号。

Select sno,cnoFrom scWhere grade=null;7、查询一下哪些学号的学生,选修了课,但还没有参加考试。

Select snoFrom scWhere cno!=null and grade=null;8、将全体学生按年龄升序排序(两种写法)。

Select *From studentOrder by sage desc;或select Sno,Sname,Saex,Sage,Sdeptfrom studentorder by sage;9、将全体学生按照系别升序排序,在系名相同的情况下再按照年龄降序排列。

Select *From studentOrder by sdept,sage desc;10、查询年龄在20-23岁之间的学生的学号、姓名、性别、系别。

查询结果按照系别升序、年龄升序排列。

Select sno,sname,ssex,sdeptFrom studentWhere sage between 20 and 23Order by sdept,sage;11、查询“计算机系”姓“张”的学生的基本信息。

Select *From studentWhere sname like ‘张%’and sdept=’计算机’;12、给0905111班出一个学生点名册。

要求给出学号、姓名、性别几个方面的信息。

(查询结果照学号升序了吗?不然这点名册会有多么那看啊,你自己试试)。

select sno 学号,sname 姓名,ssex 性别from studentorder by sno;13、查询课程名中有“数据库“字样的课程的基本信息。

Select *From courseWhere cname like ‘数据库%’;14、查询选修过课程的学生总人数。

Select count(distinct sno)From sc;15、查询已经选修过课程的学生学号和姓名。

Select sname,sc.snoFrom student,scWhere student.sno=sc.sno;16、查询选修了“数据库原理“这门课程的学生学号、姓名、性别、考试成绩。

将结果按照成绩降序排列。

Select student.sno,sname,ssex,gradeFrom student,sc,courseWhere student.sno=sc.sno and cname='数据库原理' and o=oOrder by grade desc;17、查询0905111班学生的选课情况,要求输出选课人的学号、姓名、课程号、课程名、成绩。

将查询结果按照学号升序排序。

Select student.sno,sname,o,cname,gradeFrom student,course,scWhere student.sno=sc.sno and o=o and left(student.sno,7)=0905111;18、输出选修了“C5“号课程的的学生成绩单,要求输出学号,姓名,成绩。

查询结果按照班级升序、成绩降序排列。

Select student.sno,sname,gradeFrom student,scWhere student.sno=sc.sno and o=’C5’Order by left(student.sno,7),grade desc;19、查询每个学生的学号、对应的平均成绩。

Select student.sno,avg(grade)From student,scWhere student.sno=sc.snoGroup by student.sno;20、查询每个课程号及其对应的选课人数、考试最高分、最低分、平均分。

Select cno 学号,count(distinct sno) 选课人数,max(grade) 最高分,min(grade) 最低分,avg(grade) 平均分From scGroup by cno;21、查询每个学期及其对应的开课门数、总学分。

Select semester 学期,count(cno),sum(ccredit)From course;22、查询每个班的班级号及其对应的班级人数、平均年龄。

提示:可用函数left。

如函数LEFT(Sno,3)表示Sno列的左面数前3个字符串)select left(sno,7),count(sno),avg(sage)from studentgroup by left(sno,7);23、查询不及格门数超过3门的学生学号。

Select snoFrom scWhere grade<60Group by snoHaving count(*)>3;24、查询不及格门数超过3门的学生学号、姓名、性别(2种方法,1班的可在后面嵌套讲完再补第2种方法)。

方法一:Select student.sno,sname,ssexFrom student,scWhere grade<60 and student.sno=sc.snoGroup by student snoHaving count(*)>3;方法二:Select sno,sname,From studentWhere sno in( select snoFrom scGroup by snoWhere count(cno)>3);25、查询平均成绩在75分以上的学生的学号、姓名、所在系。

Select sno,sname,sdeptFrom studentWhere sno in(select snoFrom scGroup by snoWhere avg(grade)>75);26、只统计80分以上的选课情况,查询选修了3门以上的学生学号、选课门数。

Select sno,count(cno)From scWhere grade>80Group by snoHaving count(sno)>3);27、只统计0905111班的同学:查询每门课程的课程号、选修人数、平均成绩。

Select cno,count(sno),avg(grade)From scHaving left(sno,7)=’0905111’;28、只统计0905111班的同学:查询每门课程的课程号、课程名、学分、选修人数、平均成绩。

Select o,cname,ccredit,count(sno),avg(grade)From course left out join sc on (o=o)Group by cnoHaving left(sno,7)=’0905111’29、统计各门课程的成绩,要求输出课程代号,课程名,平均成绩,选修人数。

(成绩为空值的不统计)Select o,cname,avg(grade),count(sno)From sc,courseWhere grade is not null and o=oGroup by cno;30、统计各门课程的不及格人数,要求输出课程代号,课程名,不及格人数。

Select o,cname,count(sno)From sc,courseWhere grade<60 and o=oGroup by cno;31、查询还没有选过任何课程的学生学号、姓名、性别。

Select student.sno,sname,ssexFrom student,scWhere student.sno=sc.sno and cno is null;32、查询选修过1、2号课程的学生学号、姓名、性别。

Select sno,sname,ssexFrom studentWhere sno in(Select snoFrom scWhere cno=’1’ or cno=’2’));33、查询选修了“计算机导论”或“高等数学”课程的学生的学号、姓名。

Select sno,snameFrom studentWhere sno in(Select snoFrom scWhere cno in(Select cnoFrom courseWhere cno=’计算机导论’ 0r cno=’高等数学’)));34、查询既选修了“计算机导论”,又选修了“高等数学”的学生学号、姓名、性别。

相关文档
最新文档