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

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

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

一、实验目的

1、掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL 语言的查询语句的理解。

2、熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

二、实验内容

1、基本操作实验

(1)简单查询实验

1)用Transact—SQL语句表示下列操作,在学生选课库中实现其数据查询操作:

①求数学系学生的学号和姓名。

②求选修了课程的学生学号。

⑧求选修C1课程的学生学号和成绩,并要求对查询结果按成绩降序排

列,如果成绩相同则按学号升序排列。

④求选修课程C1且成绩在80~90分之间的学生学号和成绩,并将成绩

乘以系数0.8输出。

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

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

(2)连接查询实验

用Transact-SQL语句表示,并在学生选课库中实现数据连接查询操作。

2、提高操作实验

(1)按下表的格式,建立职工部门库和职工表、部门表,并向表中输入数据。

(2)在查询分析器中用Transact-SQL语句

表示职工和部门之间的内连接、左外部

连接和右外部连接,并说明结果的含义。

三、实验步骤与实验结果

1、基本操作实验

(1)简单查询实验

①打开查询分析器,在命令窗口中输入命令:;在下面的窗口得到结果:;

②输入命令:,得到结果:

③输入命令:,得到结果:

④输入命令:,得到结果:

;

⑤输入命令:,

得到结果:

⑥输入命令:,得到结果:;(2)连接查询实验

①查询每个学生的情况以及他(她)所选修的课程:输入命令:

,得到结果:

②求学生的学号、姓名、选修的课程名及成绩:

输入命令:,得到结果:

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

输入命令:,得到结

果:

④查询每一门课的间接先行课(即先行课的先行课):

输入命令:,得到结果:

2、提高操作实验

(1)结果:新建WD数据库(职工部门数据库)

(2)在查询分析器中用Transact-SQL语句表示职工和部门之间的内连接、左外部连接和右外部连接,并说明结果的含义。

左连接显示左边表的所有行,右连接显示右边表的所有行,外连接显示所有表的所有行;内连接,显示能连接的所有行;

各种连接的SQL代码及结果:

1、内连接

2、左外部连接

3、右外部连接

四、实验中出现的问题及体会

1、查询选修了课程的学生学号时,输入命令,得到的结果中学号有重复;改为后去掉了结果中的重复行;

2、连接自身连接时得到的结果与预期不一样;后来发现要求的是先行课的先行课,还是要先了解题意啊!不然做对了还以为是错的!

3、外部连接时得到结果里有重复列

用USING来去掉结果中的重复列时出现错误

搞不懂,求解!

附录:

实验前准备的测试数据表格:

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

实验4 数据库的简单查询和连接查询实验 1、实验目的 本实验的目的是使学生掌握SQL Server查询分析器的使用方法,加深对SQL和SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。 2、实验时数2学时 3、实验内容 该实验在上一个实验的基础上进行 简单查询操作 1、求数学系(ma)学生的学号和姓名 select Sno,Sname from Student where Sdept='ma' 2、求选修了课程的学生学号 select Sno srom SC 3、求选修课程号为‘1’的学生号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同按学 号的升序排列。 select Sno,Grade from SC where Cno='1' order by Grade DESC ,Sno ASC 4、求选修课程号为‘1’且成绩在80~90之间的学生学号和成绩,并成绩乘以输出。 select Sno ,Grade* from SC where Grade>=80 and Grade<=90 5、求数学系(ma)或计算机系(cs)姓张的学生的信息。 select * from Student where Sdept in('ma' ,'cs' ) and Sname='张*' 6、求缺少了成绩的学生的学号和课程号 select Sno ,Cno from SC where Grade=0 or Grade=NULL 连接查询操作 7、查询每个学生的情况以及他所选修的课程 select * from Student ,Course 8、求学生的学号、姓名、选修的课程及成绩 select ,Sname,Cname,Grade from Student,SC,Course where = and = 9、求选修课程号为‘1’且成绩在90以上的学生学号、姓名和成绩

数据库实验四-查询

华中科技大学 《数据库技术与应用》实验报告专业班级:学生姓名:学号: 实验地点:指导教师: 实验日期时间: 一、实验项目名称:数据查询 二、实验学时: 三、实验目的: 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'

实验一ACCESS数据库及表的操作

可编辑可修改 实验一数据库及表的操作 实验类型:验证性实验课时:_6_学时指导教师: _______________ 时间:2013年月日课次:第___________________ 节教学周次:第________ 周 实验分室:_______________ 实验台号:__________ 实验员:_________________ 一、实验目的 1.掌握数据库的创建及其它简单操作 2.熟练掌握数据表建立、数据表维护、数据表的操作 二、实验内容与要求 1.数据库的创建、打开、关闭 2.数据表的创建:建立表结构、设置字段属性、建立表之间关系、数据的输入 3.数据表维护:打开表、关闭表、调整表外观、修改表结构、编辑表内容 4?数据表的操作:查找替换数据、排序记录、筛选记录 三、实验步骤 案例一:创建数据库 1.创建空数据库 要求:建立“教学管理.accdb ”数据库,并将建好的数据库文件保存在“实验一”文件夹中。 操作步骤:

IS 1 丿小? e 叮亍 Micrtilitil ftfdwvi 口 可审业 a 站 j-t 4审时 OffiCfLC WF gm ■ *陆 (2)单击険'I 按钮,在打开的“新建数据库”对话框中,选择数据库的保存位置,在“ 件夹中,单击“确定”按钮,如图 1-2所示。 (3)这时返回到access 启动界面,显示将要创建的数据库的名称和保存位置,如果用户未提供文件 扩展名,access 将自动添加上。 (4 )在右侧窗格下面,单击“创建”命令按钮,如图 1-1所示。 (5)这时开始创建空白数据库,自动创建了一个名称为表 1的数据表,并以数据表视图方式打开这 个表1,如图1-3所示。 J 曰归 图1-1 创建教学管理数据库 (1 )在Access 2010启动窗口中,在中间窗格的上方,单击“空数据库” ,在右侧窗格的文件名文本 框中,给出一个默认的文件名“” 。把它修改为“教学管理”如图 1-1所示。 实验一”文

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

一、实验目的: 通过该实验掌握应用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”,结果如下图所示:

实验3 SQL基本操作

实验3 SQL概述 一、实验目的 1.掌握使用企业管理器创建数据库、定义表结构、修改表、删除表的操作 2.创建视图,修改、删除视图。 二、实验内容 1.使用企业管理器创建数据库CPXS; 2.修改数据库、删除数据库; 3.在数据库CPXS中创建表; 4.创建查询产品库存量和销售时间的视图; 5.删除视图,修改视图。 三、实验步骤 1.使用企业管理器创建数据库 (1)进入企业管理器主界面,右击“数据库”文件夹,在弹出的快捷菜单中选择“新建数据库”命令。 (2)弹出“数据库属性”对话框,其中有“常规”、“数据文件”、“事务日志”3个选项卡。 (3)在“常规”选项卡中的“名称”对话框中输入要建立的数据库名称,这里只能输入字母不能输入汉字,如要建立产品销售数据库,可以输入“CPXS”。如图1所示。

图1 输入数据库名称cpxs (4)选择“数据文件”选项卡,对数据文件的逻辑名称、存储位置、容量大小、所属文件组名称和文件属性进行设置。例如,设置数据库的数据文件的逻辑名为cpxs_data,开始大小为1MB,所属文件组为Primary,文件按15%的比例自动增长,文件最大增长到15MB。

图2 设置cpxs属性 (5)选择“事务日志”选项卡,对事务日志文件的物理存储进行设置,可以输入事务日志文件的名称、存储位置、初始大小和文件属性等信息。如设置cpxs数据库的事务日志文件名是cpxs_Log,初始大小为 1MB,文件按5%的比例自动增长,文件最大增长到5MB。 (6)单击“确定”按钮,完成数据库的创建后,会在“数据库”文件夹内出现新建的cpxs的数据库。 2.修改数据库 (1)在企业管理器中右击cpxs,从弹出的快捷菜单中选择“属性”命令。 (2)弹出该数据库的属性对话框,在其中可以对常规、数据文件、事务日志、文件组、选项和权限6个选项进行设置,单击“确定”按钮,即可完成对选定数据库的修改。 3.删除数据库

数据库查询实验报告

应用数学学院_学院专业_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的雇员的地址和电话。

实验三数据库简单操作

重庆理工大学数据库精品课程教辅材料 实验报告册 课程:数据库系统概论 班级: 学号: 姓名: 重庆理工大学 计算机科学与工程学院 2016年3月

实验三 一实验目的 利用查询分析器用SQL语言定义基本表、索引并进行相关操作。 二实验软件平台 SqlServer 三实验内容 (一)利用查询分析器在表中插入数据 打开在实验一中建立的“学生课程”数据库,利用SQL语句在“SCDB”数据库中的student、course、sc表中插入数据; student表的内容: SNO SNAME SSEX SAGE SDEPT 95001李勇男20CS 95002刘晨女19IS 95003王敏女18MA 95004 张立男19 IS 95005 陈锋男21 CS course表的内容 CNO CNAME CPNO CREDIT 1数据库54 2数学NULL 2 3信息系统14 4操作系统 6 3 5数据结构7 4 6 数据处理NULL 2 7 PASCAL语言 6 4 sc表的内容 SNO CNO GRADE 95001192 95001265 95001388 95002290 95002380 95003 3 93

95003 4 85 95003 5 95 (二)修改表中的数据 在插入数据后的三张表student、course、sc中进行相关的更新操作: 1、将student表中‘李勇’的名字改为‘李明’; 2、将student表中‘王敏’的年龄改为20岁; 3、将所有学生的年龄增加1岁; 4、修改学生的学号‘95002’为‘95007’,注意会有什么情况发生?为什么? update s set sno='95007' where sno='95002' 与约束条件冲突,因为sno是主键,在sc表中被关联。改动主键会报错。 5、把选修了“2”号课程,且成绩低于70分的成绩提高5%; update sc2 set grade=grade*(1+0.05) where grade<70 and cno= 2 6、将“CS”系全体学生的成绩置零; update sc2 set grade= 0 where'cs'= (select sdept from s where s.sno=sc2.sno) (三)删除表中的数据 1、把选修了“2”号课程,且成绩低于70分的学生的选课记录删除掉; delete from sc2 where cno='2'and grade< 70 2、删除学号为“95003”的学生信息,注意会有什么情况发生?为什么? delete from s where sno='95003' 无法完成删除。因为snow是主键。 3、删除"IS"系选修了"2"号课程的选课记录; delete from sc2 where cno='2'and 'IS'=(select sdept from s where s.sno=sc2.sno)

数据库实验04 查询

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

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

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

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

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

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

北邮大三下数据库实验报告3

北京邮电大学 实验报告 课程名称数据库系统原理 实验内容实验(三) 实验名称数据查询实验 班级2013211***姓名*** 指导老师卢向群成绩_________ 2016年4月20日

实验三数据查询实验 实验目的 通过对实验二中建立的数据库关系表和视图的各种查询的操作,加深对SQL语言和Transact SQL查询语言的了解,掌握相关查询语句的语法和使用方法。 实验内容 数据库关系表查询: (1)简单的查询操作,包括单表的查询、选择条件、结果排序等的练习; (2)多表的连接查询,包括等值连接、自然连接等; (3)复杂的查询操作,包括使用分组函数等库函数的查询操作; (4)练习带有IN、比较符的嵌套查询。 具体内容包括: 1.简单查询: (1)查询班号为g99401班的学生的学号和姓名; 表中没有该班级的学生,故查询结果为空。 (2) 查询“数据库开发技术”课程的学分; (3) 查询选修了课程编号为“dep04_s003”的学生的学号和成绩,并将成绩按降序输出;

(4) 查询学号为“g9940205”的学生选修的课程编号和成绩; (5) 查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。 2.在多表连接的查询实验中,在SQL SERVER提供的交互式语言环境下用Transact

SQL语句完成以下查询操作: (1)查询选修了课程编号为“dep04_s002”且成绩高于85分的学生的学号、姓名和成绩; 该题与上一题的差别在于学生姓名,这一属性与成绩不在同一张表中,故需要对两张表做自然连接。 (2)查询所有学生的学号、姓名、选修的课程名称和成绩; 需要用到三张表,把三张表做自然连接,语句如下: 查询结果如下: (3)查询计算机科学系林红同学选修的课程名称、学分和成绩。(考试成绩>=60有学分,

数据库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’

数据库实验3答案

实验三:交互式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表结构 表2. Course表结构

表3. SC表结构 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)创建员工表Employee

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

实验二:简单查询和连接查询 (一)实验目的:熟练掌握用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 '专业__'

实验三 数据库的基本操作(二)

《数据库系统原理》实验报告三 题目:实验三数据库的基本操作(二) 学号:xxxxxxxx 姓名:lrm_1036 日期:2010-12-15 一、实验环境:SQL server 2005 二、实验目的: 1. 掌握数据库的基础知识; 2. 熟悉数据库的交互式SQL工具。 3. 熟悉数据表、索引和视图的基本操作:创建、修改和删除。 4. 完成作业的上机练习。 三、实验内容与完成情况: 1. 数据表的基本操作 1.1 基本表的创建(在已有的数据库MY_database中创建表) (1)使用SSMS在资源管理器中创建表 在SSMS主界面,展开资源管理器中的“数据库”MY_database选项,右击“表”选项,在弹出的快捷菜单中选择“新建表”命令,如图1.1所示。 图1.1 选择“新建表”命令 进入图像化创建表姐妹,切换到“属性”面板,在“名称”文本框中输入表名“commodities”(商品信息表),在“列名”和“数据类型”中填入相应的数据信息,设置产品编号C_id为主码,单击保存,如图1.2所示。

图1.2 图像化创建表 打开数据表commodities,在相应的“列名”和“数据类型”下插入具体的值,单击保存即 可,如图1.3所示。 图1.3 初始数据表 (2)使用Transact-SQL语句创建表 在SSMS主界面,单击“新建查询”命令,打开“新建查询”对话框,输入新建表的命 令。如图1.4所示。

图1.4 Transact-SQL创建基本表 根据上面的例子,创建完成下面基本表: (1)创建学生表Student,由以下属性组成:序号Sno(int,主码),姓名Sname(char, 长度为8,非空唯一值),性别Ssex(char,长度2),所在系Sdept(int)。如图1.5所示。 (2)创建课程表Course,由以下属性组成:课程号Cno(int),课程名Cname(char,

实验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. 在“联合查询”查询中,如果相联合的表的结构不完全一致,会出现什么结果? 答:相联合的表的结构不一致,包括字段数、数据类型等存在差异时,往往无法将表或查询的字段合并到一个集中中查看,很难将要检索的数据完整地呈现出来。

相关文档
最新文档