实验四、五(数据查询)

合集下载

数据库上机实验4、5

数据库上机实验4、5

实验四:一、实习目的:掌握SELECT的基本使用格式,能使用SQL Server对表作简单的查询。

二、准备:1.复习3.4节中SELECT的基本使用格式;2.复习SQL中五种集函数:AVG、SUM、MAX、MIN、COUNT;3.完成习题3第12题中各项操作的SQL语句。

三、实习内容:1.验证习题3第12题中各项操作的SQL语句。

2.验证以下语句是否正确:SELECT eno,basepay,serviceFROM salaryWHERE basepay<AVG(basepay);四、实验报告:1.1)找出所有被学生选修了的课程号:select distinct Cno 课程号from Grade2)找出01311班女生的个人信息:select * from Studentwhere Clno='01311' and Ssex='女'3)找出01311班和01312班的学生姓名性别出生年份select sname 学生姓名,ssex 性别,2016-sage 出生年份from Studentwhere Clno='01311' or Clno='01312'4)找出所有姓李的学生的个人信息select * from Studentwhere Sname like '李%'5)找出李勇所在班级的学生人数select COUNT(*) from Studentwhere Clno in(select Clno from Studentwhere Sname='李勇')6)找出课程名为操作系统的平均成绩最高分最低分select AVG(Gmark) 平均成绩,MAX(Gmark) 最高分,MIN(Gmark) 最低分from Gradewhere Cno in(select Cno from Coursewhere Cname='操作系统')7)选修了课程的学生人数;select COUNT(distinct sno) 学生人数fromGrade8)选修了操作系统的学生人数:select COUNT(distinct sno) 学生人数from Gradewhere Cno in(select Cno from Coursewhere Cname='操作系统')9)找出2000级计算机软件班的成绩为空的学生姓名:2.错误。

计算机信息管理专业课程实验

计算机信息管理专业课程实验

计算机信息管理专业课程实验课程编码课程名称课程实验内容实验性质学时计算机应用基础统必 45 1(实验一:WindowsXP基本操作和汉字输入练习2(实验二: 文字编辑和排版3(实验三:表格编辑4(实验四:演示文稿制作5(实验五: 因特网接入、浏览网页和电子邮件的收发网络实用技术基础统必 24 实验一局域网安装与使用实验二 Internet接入与应用实验三 Windows 2000 安装与配置实验四局域网交换机设置实验五路由器的基本设置实验六网络安全54 统必 Dreamweaver网页设计实训1:基本网页设计实训2利用表格进行网页排版实训3使用页面布局模式实训4对网页进行排版应用CSS样式表实训5在网页中应用模板实训6在网页中应用库实训7在网页中插入导航条和翻转按钮实训8插入Flash及多媒体内容实训9使用层进行网页的排版和布局选做实训题实训1:插入Flash及多媒体内容实训2:自行设计和制作个人网站实训3:自行设计和制作商业网站数据库基础与应用统必 42 本课程必做实验共42学时,具体题目如下:(1) ACCESS实验内容12学时实验一表的操作实验二查询操作实验三窗体的操作实验四报表的操作实验五宏与数据访问页的使用实验六数据导入与导出(2) SQL Server实验内容30学时实验一安装与配置SQL Server实验二创建“进销存”数据库实验三创建表和索引实验四备份与恢复数据库实验五 Transact-SQL综合查询应用实验六触发器设计实验七存储过程设计(选做)实验八数据库安全性管理(选做) 实验九 ODBC及SQL Server应用程序设计(选做)36 限选 Visual Basic程序设计实验一:Visual Basic开发环境实验二:简单程序设计实验三:菜单设计实验四:鼠标、键盘、API函数调用实验五:文件管理程序设计实验六:绘图和多媒体应用实验七:数据库应用程序设计实验八:网络应用程序设计实验九:简单程序调试及错误处理实验十:ActiveX的简单应用。

实验四表数据的简单查询

实验四表数据的简单查询

实验四表数据的简单查询实验学时:1学时实验类型:设计实验要求:必做一、实验目的掌握SELECT语句的基本用法。

掌握计算列的用法。

掌握WHERE子句中各类查询条件的写法。

二、实验内容1、在连接“MySQL”中新建数据库“world”,并将数据库文件world_inno.sql导入到该数据库之中2、查询world数据库的country表中的国名(Name)、洲名(Continent)和地区(Region)。

步骤:点击“新建查询”,输入以下代码,点击执行USE worldSELECT NAME,Continent,Region FROM country;运行结果如图2.1:图2.13、从world数据库的city表中搜索返回前20条的数据。

步骤:点击“新建查询”,输入以下代码,点击执行USE world;SELECT * FROM city LIMIT 0,20;其中,“LIMIT M,N”中的M表示从第M条(不包括M)开始结果如图3.1:图3.14、使用WHERE 子句从world 数据库的country表中检索出所有领土面积超过一百万平方公里的国家名称(Name)、洲名(Continent)以及领土面积(SurfaceArea)。

步骤:点击“新建查询”,输入以下代码,点击执行USE world;SELECT NAME,Continent,SurfaceAreaFROM countryWHERE SurfaceArea > 1000000;结果如图4.1:图4.15、查询在world数据库的country表中Name以字母C开头的国家的洲名Continent,地区Region。

步骤:点击“新建查询”,输入以下代码,点击执行USE world;SELECT Name,Continent,RegionFROM countryWHERE NAME like 'C%';运行结果如图5.1:图5.16、查询world数据库Country表中所有国家的Name和Condinent,并按生日SurfaceArea 从小到大进行排列。

数据库实验报告(实验四)

数据库实验报告(实验四)

沈阳工程学院学生实验报告(课程名称:数据库系统原理)实验题目:数据查询(二)班级学号姓名日期年月日地点指导教师一、实验目的掌握SQL查询命令:包括连接查询、嵌套查询和集合查询。

二、实验环境Oracle10g数据库系统。

三、实验内容与要求使用Select命令完成下列数据查询。

一、连接查询⑴查询每个顾客及其购买商品的顾客名称和商品名称。

⑵查询“沈阳市”顾客,购买“01”商品的顾客信息。

⑶查询“沈阳市”且购买了商品的顾客信息。

⑷查询购买“01”商品,且购买数量在2以上的顾客姓名。

⑸查询每个顾客购买商品的名称及购买数量和日期。

⑹查询购买商品单价超过100的顾客姓名。

二、嵌套查询⑴查询与“rose”在同一城市的顾客信息。

⑵查询购买商品名称为“面包”的顾客编号和姓名。

三、EXISTS查询⑴查询没有购买“0001”商品的顾客姓名。

⑵查询购买了全部商品类别的顾客的姓名。

四、实验过程及结果分析一、连接查询⑴查询每个顾客及其购买商品的顾客名称和商品名称,如图1-1所示。

select guest.*,guestname,goodsnamefrom guest,goods,purchasewhere guest.guestid=purchase.guestidand goods.goodsid=purchase.goodsid;图1-1⑵查询“沈阳市”顾客,购买“01”商品的顾客信息,如图1-2所示。

select guest.*from guest,purchasewhere guest.guestid=purchase.guestidand g_addr='沈阳'and purchase.goodsid='01';图1-2⑶查询“沈阳市”且购买了商品的顾客信息,如图1-3所示。

select guest.*from guest,purchasewhere guest.guestid=purchase.guestidand g_addr='沈阳';图1-3⑷查询购买“01”商品,且购买数量在2以上的顾客姓名,如图1-4所示。

实验答案(四-五-六)参考答案

实验答案(四-五-六)参考答案

实验四简单查询和连接查询1. 简单查询实验用Transact-SQL语句表示下列操作,在“学生选课“数据库中实现其数据查询操作:(1) 查询数学系学生的学号和姓名。

select sno,snamefrom studentwhere dept='数学系';(2) 查询选修了课程的学生学号。

select distinct(sno)from sc;(3) 查询选修课程号为0101的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

select distinct(sno),gradefrom scwhere cno='0101'order by grade desc,sno asc;(4) 查询选修课程号为0101的成绩在80-90 分之间的学生学号和成绩,并将成绩乘以系数0.8 输出。

select distinct(sno),grade*0.8 as'sore'from scwhere cno='0101'and grade between 80 and 90;(5) 查询数学系或计算机系姓张的学生的信息。

select*from studentwhere dept in('数学系','计算机系')and sname like'张%';(6) 查询缺少了成绩的学生的学号和课程号。

select sno,cnofrom scwhere grade is null;2. 连接查询实验用Transact-SQL语句表示,并在“学生选课”数据库中实现下列数据连接查询操作:(1) 查询每个学生的情况以及他(她)所选修的课程。

select student.*,amefrom student,sc,coursewhere student.sno=sc.sno and o=o;(2) 查询学生的学号、姓名、选修的课程名及成绩。

数据库的查询和视图

数据库的查询和视图

实验四数据库的查询和视图数据库的查询1.目的与要求(1)掌握select语句的基本语法;(2)掌握子查询的表示(3)掌握连接查询的表示(4)掌握select语句的group by子句的作用和使用方法(5)掌握select语句的order by子句的作用和使用方法2 实验准备(1)了解SELECT语句的基本语法格式;(2)了解SELECT语句的执行方法;(3)了解子查询的表示方法;(4)了解连接查询的表示;(5)了解SELECT语句的GROUPBY子句的作用和使用方法;(6)了解SELECT语句的ORDER BY子句的作用;3实验内容SELECT语句的基本使用。

①对于实验2给出的数据库表结构,查询每个雇员的所有数据。

新建一个查询,在查询分析器中输入如下语句并执行:USEYGGLGOSELECT*FROMEmployees【思考与练习】用SELECT语句查询Departments和Salary表中所有的数据信息。

用SELECT语句查询Employees表中每个雇员的地址和电话。

【思考与练习】a.用SELECT语句查询Deparments和Salary表的一列或若干列。

b.查询Employees表中的部门号和性别,要求使用DISTINCT消除重复行。

c.查询EmployeeID为000001的雇员的地址和电话。

【思考与练习】a.查询月收入高于2000元的员工号码。

b.查询1970年以后出生的员工的姓名和住址。

c.查询所有财务部的员工的号码和姓名。

d.查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。

【思考与练习】使用SELECT语句进行简单的计算。

⑦获得员工总数。

【思考与练习】a.计算salary表中员工月收入的平均数。

b.获得Employees表中最大员工号码。

c.计算Salary表中所有员工的总支出。

d.查询财务部雇员的最高和最低实际收入。

USE YGGLSELECT MAX(InCome-OutCome) AS 最高实际收入,MIN(InCome-OutCome) AS 最低实际收入FROM SalaryGO⑧找出所有姓王的雇员的部门号。

《数据库系统原理》课程实验

《数据库系统原理》课程实验

《数据库系统原理》课程实验姓名:班级:学号:佛山科学技术学院计算机系2012年12月目录一、实验所需表格 (3)二、实验内容 (3)2.1实验一SQL数据定义 (3)2.2实验二SQL数据查询 (7)2.3实验三连接、嵌套和集合查询 (14)2.4实验四SQL的数据更新 (21)2.5实验五视图的建立和维护 (24)2.6实验六触发器和存储过程 (330)三、实验感想 (37)参考资料1.王珊萨师煊.《数据库系统概论》(第四版).高等教育出版社,20062.李存斌.数据库应用技术---SQL Server2000简明教程.中国水利水电出版社,2001一、实验所需表格学生-课程数据库xskc中用到的三个表文件如下:学生表:StudentSno(学号)Sname(姓名)Ssex(性别)Sage(年龄)Sdept(所在系)200215121李勇男20CS(计算机科学系)200215122刘晨女19CS(计算机科学系)200215123欧阳原野女18MA(数学系)200215125刘阳光男19IS(信息系)课程表:CourseCno(课程号)Cname(课程名)Cpno(先修课)Ccredit(学分)1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL64学生选课表:SCSno(学号)Cno(课程号)Grade(成绩)200215121192200215121285200215121388200215122290200215122380二、实验内容2.1实验一SQL数据定义一、实验目的和要求1.掌握利用SQL查询分析器和企业管理器进行数据库及基本表的定义、删除与修改;2.掌握索引的建立与删除的方法。

二、实验内容及结果(一)建立数据库通过查询分析器或企业管理器建立学生-课程数据库xskc。

create database xskcon(name=xskc_data,filename='e:\sjksy\xskc_data.mdf')log on(name=xskc_log,filename='e:\sjksy\xskc_log.ldf')注:先在E:盘上建立一个文件夹(例如:E:\sjksy),数据库文件保存到自建的文件夹中。

数据库实验四

数据库实验四

数据库概论课程实验报告(四)
2.列出姓‚沈‛且全名为3个汉字的学生;3.显示在1985年以后出生的学生的基本信息;
4.按照‚性别、学号、姓名、年龄、院系‛的顺序列出学生信息,其中性别按以下规定显示:性别为男显示为男生,性别为女显示为女生,其他显示为‚条件不明‛;
6.显示学号第八位或者第九位是1、2、3、4或者9的学生的学号、姓名、性别、年龄及院系;
7.列出选修了‘1’课程的学生,按成绩的降序排列;
8.列出同时选修‚1‛号课程和‚2‛号课程的所有学生的学号;
9.列出课程表中全部信息,按先修课的升序排列;
14. 按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩
15.显示学生信息表中的学生总人数及平均年龄,在结果集中列标题分别指定为‚学生总人数,
平均年龄‛;
16. 显示选修的课程数大于3的各个学生的选修课程数;
17. 按课程号降序显示选修各个课程的总人数、最高成绩、最低成绩及平均成绩;
18.显示平均成绩大于‚200515001‛学生平均成绩的各个学生的学号、平均成绩;
20. 显示选修课程数最多的学号及选修课程数最少的学号;
21.显示各个院系男女生人数,其中在结果集中列标题分别指定为‚院系名称、男生人数、女生人
数‛;
22.列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;。

数据库实验

数据库实验
9. 按系统计各系平均成绩在80分以上的人数,结果按降序排列;
10.通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM” 并查询结果;
11.通过视图V_IS,新增加一个学生记录 ('S12','YAN XI',19,'IS'),并查询结果;
12. 通过视图V_IS,新增加一个学生记录 ('S13','YAN XI',19,'MA'),并查询结果;
3、 分别在表Student、SC上按“sno”列的唯一值方式建立索引,可能出现问题吗?情况有什么区别?
4、 能否在非主属性列上建立索引?其恰当的方式是什么?
九、பைடு நூலகம்题
1、 在表的定义中,如何确定属性是 NOT NULL / NULL? ( 主码 ,关键字,主属性/主属性)
2、 能否将Student,Course,SC表单独以一个数据文件的形式保存在磁盘上?
1.在表Student、Course、SC上进行简单查询、连接查询、嵌套查询;
2.使用聚合函数的查询;
3.对数据的分组查询;
4.对数据的排序查询。
七、实验内容
在表Student,Course,SC上完成以下查询:
1. 查询学生的基本信息;
2. 查询“CS”系学生的基本信息;
3. 查询“IS”系学生年龄不在19到21之间的学生的学号、姓名;
实验一 数据描述、定义实验
实验时间:3月24日
一、学时
4学时
二、实验类型
演示、设计
三、实验目的
1、熟悉和掌握数据库的创建和连接方法;

SQLSERVER2008实用教程实验参考答案解析(实验4)

SQLSERVER2008实用教程实验参考答案解析(实验4)

SQLSERVER2008实用教程实验参考答案解析(实验4)实验4 数据库的查询和视图一、SELECT语句的基本使用1. 查询Employees表中所有数据2. 查询Employees表中指定字段数据3. 查询Employees表中的部门号和性别,要求使用Distinct消除重复行4. 使用WHERE子句查询表中指定的数据查询编号为’000001’的雇员的地址和查询月收入高于2000元的员工查询1970年以后出生的员工的和住址5. 使用AS子句为表中字段指定别名查询Employees表中女雇员的地址和,并将列标题显示为地址和查询Employees表中男雇员的和出生日期,并将列标题显示为和出生日期6. 使用使用CASE子句查询Employees表中员工的和性别,要求Sex值为1时显示“男”,为0时显示“女”查询Employees表中员工的、住址和收入水平,2000元以下显示为低收入,2000~3000地显示为中等收入,3000元以上显示为高收入。

7. 使用SELECT语句进行简单计算计算每个雇员的实际收入8. 使用置函数获得员工总数计算Salary表中员工月收入的平均数获得Employees表中最大的员工计算Salary表中所有员工的总支出查询财务部雇员的最高和最低实际收入9. 模糊查询找出所有姓王的雇员的部门号找出所有地址中含有“”的雇员的及部门号找出员工中倒数第二个数字为0的员工的、地址和学历10. Between…And…和Or的使用找出收入在2000~3000元之间的雇员编号找出部门为“1”或“2”的雇员的编号11. 使用INTO子句,由源表创建新表由表Salary创建“SalaryNew”表,要求包括编号和收入,选择收入在1500元以上的雇员由表Employees创建“EmployeesNew”表,要求包括编号和,选择所有男员工二、子查询的使用1. 查找在财务部工作的雇员情况2. 用子查询的方法查找所有收入在2500以下的雇员的情况3. 查找财务部年龄不低于研发部雇员年龄的雇员4. 用子查询的方法查找研发部比所有财务部雇员收入都高的雇员的5. 查找比所有财务部的雇员收入都高的雇员的6. 用子查询的方法查找所有年龄比研发部雇员年龄都大的雇员的三、连接查询的使用1. 查询每个雇员的情况及薪水的情况2. 查询每个雇员的情况及其工作部门的情况3. 使用连接的方法查询名字为“王林”的雇员所在的部门4. 使用连接的方法查找出不在财务部工作的所有雇员信息5. 使用外连接方法查找出所有员工的月收入6. 查找财务部收入在2000元以上的雇员及其薪水详情7. 查询研发部在1976年以前出生的雇员及其薪水详请四、聚合函数的使用1. 求财务部雇员的平均收入2. 查询财务部雇员的最高和最低收入3. 求财务部雇员的平均实际收入4. 查询财务部雇员的最高和最低实际收入5. 求财务部雇员的总人数6. 统计财务部收入在2500元以上的雇员人数五、GROUP BY、ORDER BY子句的使用1. 查找Employees表中男性和女性的人数2. 按部门列出在该部门工作的员工的人数3. 按员工的学历分组,排列出本科、大专、硕士的人数4. 查找员工数超过2的部门名称和雇员数量5. 按员工的工作年份分组,统计各个工作年份的人数,例如工作1年的多少人,工作2年的多少人6. 将雇员的情况按收入由低到高排列7. 将员工信息按出生时间从小到大排列8. 在ORDER BY 子句中使用子查询,查询员工、性别和工龄信息,要求按实际收入从大到小排列六、视图的使用1. 创建视图(1)在数据库YGGL上创建视图Departments_View,视图包含Department表的全部列(2)创建视图Employees_Departments_View,视图包含员工、、所在部门名称(3)创建视图Employees_Salary_View,视图包含员工、和实际收入三列2. 查询视图从视图Employees_Salary_View中查询出为“王林”的员工的实际收入3. 更新视图(1)向视图Departments_View中添加一条记录(‘6’,‘广告部’,‘广告业务’)执行完命令后,分别查看Departments_View和Department表中发生的变化(2)尝试向Employees_Departments_View中添加一条记录,看看会发生什么情况(3)尝试向Employees_Salary_View中添加一条记录,看看会发生什么情况(4)将视图Departments_View中,部门号为‘6’的部门名称修改为‘生产车间’(5)删除视图Departments_View中最新增加的的一条记录4. 删除视图Employees_Departments_View5. 在界面工具中操作视图一、SELECT语句的基本使用1. 查询Employees表中所有数据SELECT*FROM Employees;2. 查询Employees表中指定字段数据SELECT EmployeeID,Name,DepartmentID FROM Employees;3. 查询Employees表中的部门号和性别,要求使用Distinct消除重复行SELECT Distinct DepartmentID,Sex FROM Employees;4. 使用WHERE子句查询表中指定的数据查询编号为’000001’的雇员的地址和Select Address,PhoneNumber FROM Employees WHERE EmployeeID='000001';查询月收入高于2000元的员工SELECT EmployeeID FROM Salary WHERE InCome>2000;查询1970年以后出生的员工的和住址SELECT Name,Address FROM Employees WHERE YEAR(Birthday)>'1970';SELECT Name,Address FROM Employees WHERE Birthday>'1970';5. 使用AS子句为表中字段指定别名查询Employees表中女雇员的地址和,并将列标题显示为地址和SELECT Address AS地址,PhoneNumber AS FROM Employees;查询Employees表中男雇员的和出生日期,并将列标题显示为和出生日期SELECT Name AS,Birthday AS出生日期FROM Employees WHERE Sex=1;6. 使用使用CASE子句查询Employees表中员工的和性别,要求Sex值为1时显示“男”,为0时显示“女”SELECT Name AS,CASEWHEN Sex=1 THEN'男'WHEN Sex=0 THEN'女'ENDAS性别FROM Employees;查询Employees表中员工的、住址和收入水平,2000元以下显示为低收入,2000~3000地显示为中等收入,3000元以上显示为高收入。

数据库实验四作业及答案

数据库实验四作业及答案

实验4数据查询一、实验目的1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。

2.掌握使用SELECT语句进行条件查询的方法。

3.掌握嵌套查询的方法。

4.掌握多表查询的方法。

5.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。

6.掌握联合查询的操作方法。

7.掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。

二、实验准备1.了解SELECT语句的基本语法格式和执行方法。

2.了解嵌套查询的表示方法。

3.了解UNION运算符的用法。

4.了解SELECT语句的GROUP BY和ORDER BY子句的作用。

5.了解IN、JOIN等子查询的格式。

6.了解INSERT INTO、UPDATE、DELETE的格式与作用。

三、实验内容及步骤0. 创建studentsdb数据库及其相应表,并录入数据。

启动查询分析器,运行下面链接的代码即可。

创建数据库代码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表中,查询每个学生的学号、姓名、出生日期信息。

SELECT*FROM student_info(2)查询学号为0002的学生的姓名和家庭住址。

实验四 数据查询——简单查询

实验四  数据查询——简单查询

实验四数据查询——简单查询一、实验目的1.掌握SQL查询语句的基本概念2.掌握SQLServer查询语句的基本语法3.熟练使用SQL的Select语句对单表进行查询4.熟练掌握并运用SQLServer所提供的函数5.熟练使用SQL语句进行连接操作二、实验环境(实验的软件、硬件环境)硬件:PC机软件:SQL2000三、实验说明请复习相关的单表查询及select语句的语法知识点,并完成如下内容。

四、实验内容1.在订单数据库orderDB中,完成如下的查询:(1)查询所有业务部门的员工姓名,职称,薪水(2)查询名字中含有“有限”的客户姓名和所在地(3)查询姓“王”并且姓名的最后一个字为“成”的员工(4)查询住址中含有上海或南昌的女员工,并显示其姓名,所属部门,职称,住址,其中性别用“男”和“女”显示。

(5)查询订单金额高于8000的所有客户编号(6)选取编号界于C0001~C0004的客户编号,客户名称,客户地址(7)找出同一天进入公司服务的员工(8)在订单主表中查询订单金额大于“E2005002”业务员在2008-1-9这天所接的任一张订单的金额”的所有订单信息。

(9)查询既订购了“52倍速光驱”商品,又订购了“17寸显示器”商品的客户编号、订单编号和订单金额。

(10)查找与“陈诗杰”在同一个单位工作的员工姓名、性别、部门和职务。

(11)查询单价高于400元的商品编号、商品名称、订货数量和订货单价。

(12)分别使用左外连接、右外连接、完整外部连接查询单价高于400元的商品编号、商品名称、订货数量和订货单价,并分析比较检索的结果。

(13)查找每个员工的销售记录,要求显示销售员的编号、姓名、性别、商品名称、数量、单价、金额和销售日期,其中性别使用“男”和“女”表示,日期使用yyyy-mm-dd格式显示。

(14)查找在2008年3月中有销售记录的客户编号、名称和订单总额。

(15)使用左外连接查找每个客户的客户编号、名称、订单日期、订货金额,其中订货日期不要显示时间,日期格式为yyyy-mm-dd,按客户编号排序,同一客户再按订单金额降序排序输出。

数据库实验4-实验报告

数据库实验4-实验报告

数据库实验4-实验报告数据库实验 4 实验报告一、实验目的本次数据库实验 4 的主要目的是深入理解和掌握数据库中的某些关键概念和操作,通过实际的操作和实践,提高对数据库管理系统的应用能力,增强解决实际问题的技能。

二、实验环境本次实验使用的数据库管理系统为_____,运行环境为_____操作系统,使用的开发工具为_____。

三、实验内容与步骤(一)创建数据库首先,打开数据库管理系统,使用相应的命令或操作界面创建了一个名为“_____”的数据库。

在创建过程中,指定了数据库的一些基本属性,如字符集、排序规则等,以满足后续数据存储和处理的需求。

(二)创建数据表在创建好的数据库中,根据实验要求创建了若干个数据表。

例如,创建了一个名为“students”的表,用于存储学生的信息,包括学号(student_id)、姓名(student_name)、年龄(age)等字段。

创建表时,仔细定义了每个字段的数据类型、长度、是否允许为空等属性,以确保数据的准确性和完整性。

(三)数据插入接下来,向创建的数据表中插入了一些测试数据。

通过执行相应的插入语句,将学生的具体信息逐个插入到“students”表中。

在插入数据的过程中,特别注意了数据的格式和合法性,避免了因数据错误导致的插入失败。

(四)数据查询完成数据插入后,进行了各种查询操作。

使用了简单的查询语句,如“SELECT FROM students”来获取所有学生的信息。

还使用了条件查询,如“SELECT FROM students WHERE age >18”来获取年龄大于 18 岁的学生信息。

通过这些查询操作,熟悉了如何从数据库中获取所需的数据。

(五)数据更新对已有的数据进行了更新操作。

例如,通过执行“UPDATE students SET age = 20 WHERE student_id =1”的语句,将学号为 1 的学生的年龄更新为20 岁。

在更新数据时,谨慎操作,确保只更新了预期的记录。

数据库实验四(含答案)

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表一. 实验目的:1、了解SQL Server 2005数据库的逻辑结构和物理结构。

2、掌握使用SQL 语句创建和删除数据库。

3、学会使用T-SQL语句创建表。

二. 实验准备1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。

2.了解用SQL语句创建和删除数据库的基本语法。

3.是用查询分析器,完成用SQL语句创建和删除基本表。

三. 实验要求1、熟练使用查询分析器进行数据库的创建和删除操作。

2、用查询分析器,完成用SQL语句创建和删除基本表。

3、完成实验报告。

四. 实验内容一、数据库1.以下是创建数据库userdb1的SQL语句,create database userdb1on(name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在size=5,--数据初始长度为5Mmaxsize=10,--最大长度为10Mfilegrowth=1)--数据文件每次增长1Mlog on( name=userdb4_log,filename='g:\xygl\userdb4.ldf ' ,size=2 ,maxsize=5 ,filegrowth=1)运行上诉语句建立数据库userdb12.根据步骤1的sql语句,写出创建实验二中“学生信息”数据库的sql语句,并建立“学生信息”数据库.(.mdf的名字可以修改)3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。

alter database 数据库名 add file()注括号内格式同下:( name=userdb4_log,filename='g:\xygl\userdb4.ldf ' ,size=2 ,maxsize=5 ,filegrowth=1)4.修改文件alter database数据库名modify file()注括号内表示修改后的属性信息,格式同下:( name=userdb4_log,filename='g:\xygl\userdb4.ldf ' ,size=2 ,maxsize=5 ,filegrowth=1)5.删除文件mrkj(alter database数据库名remove file+文件名)6.用SQL语句删除步骤一建立的数据库userdb1。

数据库实验4表的查询操作(4学时)

数据库实验4表的查询操作(4学时)

1 实验四表的查询操作(4学时)【实验目的】了解SQL 语言的使用,进一步理解关系运算,巩固数据库的基础知识。

【实验要求】掌握利用Select 语句进行各种查询操作:单表查询、多表连接及查询、嵌套查询、集合查询等。

【实验内容】在实验三创建并插入数据的表(Student ,Course ,SC ,Teacher ,TC )的基础上,完成以下操作。

1.对实验步骤中所给示例进行验证。

2.参考所给示例,完成下列各种查询操作。

(1)将教师‘罗莉’的名字改为‘罗莉莉’。

(2)将两个同学(数据自己临时设置,用后即删除)的两门课程的成绩以运行sql 程序文件的形式插入score 表中。

该题用以验证、理解和掌握关系模型的完整性规则;(3)求每门课的平均成绩,并把结果存入average 表(自行设计并创建);(4)将学生“马丽”的年龄改为2424;;(5)将所有学生的zipcode 属性列值填补上;(6)将average 表中的所有课程的平均成绩置零;(7)删除average 表中的课程号为‘表中的课程号为‘c007c007c007’的平均成绩记录;’的平均成绩记录;(8)删除所有average 表中平均成绩记录;(9)建立一个临时学生信息表()建立一个临时学生信息表(tstudent tstudent tstudent)),删除该表中的学号含‘101’的所有学生记录。

(1010)查询全体学生的学号与姓名;)查询全体学生的学号与姓名;(1111)查询全体学生的学号、姓名、所属系;)查询全体学生的学号、姓名、所属系;(1212)查询全体学生的详细记录;)查询全体学生的详细记录;(1313)查询全体学生的姓名及其年龄;)查询全体学生的姓名及其年龄;(1414)查询全体学生的姓名、出生年份;)查询全体学生的姓名、出生年份;(1515)查询所有修过课的学生的学号;)查询所有修过课的学生的学号;(1616)查询“计算机系”班全体学生名单;)查询“计算机系”班全体学生名单;(1717)查询查询所有年龄在)查询查询所有年龄在23岁以下的学生姓名及其年龄;(1818)查询考试成绩有不及格的学生的学号;)查询考试成绩有不及格的学生的学号;(1919)查询年龄在)查询年龄在20至22岁之间的学生姓名、系和年龄;(2020)查询年龄不在)查询年龄不在20至22岁之间的学生姓名、系和年龄;(2121)查询“)查询“计算机系”和“电商系”的学生的姓名;(2222)查询既不是“计)查询既不是“计1111”也不是“计”也不是“计6161”班的学生的姓名和班级信息;”班的学生的姓名和班级信息;(2323)查询学号为“)查询学号为“04262002”的学生的详细情况;(2424)查询学号以“)查询学号以“04262”打头的学生信息;(2525)查询所有姓“张”学生的学号、姓名、性别、年龄;)查询所有姓“张”学生的学号、姓名、性别、年龄;(2626)查询名字中第二个字有“海”字的学生的学号、姓名、性别、年龄;)查询名字中第二个字有“海”字的学生的学号、姓名、性别、年龄;(2727)查询所有不姓“刘”学生的姓名;)查询所有不姓“刘”学生的姓名;(2828)查询课程号以“)查询课程号以“C ”开头的最后两个字母为“”开头的最后两个字母为“050505”的课程号和课程名;”的课程号和课程名;(2929)某些学生选修某门课程后没有参加考试,所以有选修课记录,但没有考试成绩,)某些学生选修某门课程后没有参加考试,所以有选修课记录,但没有考试成绩,试查找缺少考试成绩的学生和相应的课程号;(3030)查找全部有成绩记录的学生学号、课程号;)查找全部有成绩记录的学生学号、课程号;(3131)查找“计算机系”年龄在)查找“计算机系”年龄在22岁以下的学生学号、姓名;(3232)查找选修了“)查找选修了“)查找选修了“C001C001C001”号课程的学生学号及其成绩,查询结果按分数降序排序;”号课程的学生学号及其成绩,查询结果按分数降序排序;(3333))查询全体学生情况,查询全体学生情况,查询结果按所在系升序排列,查询结果按所在系升序排列,查询结果按所在系升序排列,对同一系中的学生按年龄降序对同一系中的学生按年龄降序排列;(3434)查询学生总人数;)查询学生总人数;)查询学生总人数;(3535)查询选修了课程的学生人数;)查询选修了课程的学生人数;)查询选修了课程的学生人数;(3636)在所有课程中查询最高分的学生学号和成绩;)在所有课程中查询最高分的学生学号和成绩;)在所有课程中查询最高分的学生学号和成绩;(3737)查询学习“)查询学习“)查询学习“C001C001C001”课程的学生最高分数;”课程的学生最高分数;”课程的学生最高分数;(3838)计算各个课程号与相应的选课人数;)计算各个课程号与相应的选课人数;)计算各个课程号与相应的选课人数;(3939)查询“计算机系”选修了两门课程以上的学生学号、姓名;)查询“计算机系”选修了两门课程以上的学生学号、姓名;)查询“计算机系”选修了两门课程以上的学生学号、姓名;(4040)自然连接)自然连接student 和score 表;表; (4141)使用自身连接查询每一门课程的间接先行课(即先行课的先行课))使用自身连接查询每一门课程的间接先行课(即先行课的先行课))使用自身连接查询每一门课程的间接先行课(即先行课的先行课)(4242)使用复合条件连接查询选修“)使用复合条件连接查询选修“)使用复合条件连接查询选修“c001c001c001”号课程且成绩在”号课程且成绩在90分以上的所有同学;分以上的所有同学;(4343)使用复合条件连接查询每个学生选修的课程名及其成绩;)使用复合条件连接查询每个学生选修的课程名及其成绩;)使用复合条件连接查询每个学生选修的课程名及其成绩;(4444)查询选修了全部课程的学生;)查询选修了全部课程的学生;)查询选修了全部课程的学生;(4545)查询所有选修了)查询所有选修了C001号课程的学生学号、姓名;号课程的学生学号、姓名;(4646)查询选修了课程)查询选修了课程C001或c007的学生学号、姓名;的学生学号、姓名;(4747)查询“计算机系”的学生及年龄不大于)查询“计算机系”的学生及年龄不大于23岁的学生;岁的学生;(4848)查询既选修了课程)查询既选修了课程C001又选修了课程c007的所有学生学号、姓名;的所有学生学号、姓名;(4949)查询选修了课程名为“数据库原理”的学生的学号、姓名、性别、年龄;)查询选修了课程名为“数据库原理”的学生的学号、姓名、性别、年龄;)查询选修了课程名为“数据库原理”的学生的学号、姓名、性别、年龄;(5050)查询其他班中比“计算机系”所有学生年龄都小的学生名单;)查询其他班中比“计算机系”所有学生年龄都小的学生名单;)查询其他班中比“计算机系”所有学生年龄都小的学生名单;(5151)查询与“夏天”在同一个系学习的学生学号、姓名、性别、年龄;)查询与“夏天”在同一个系学习的学生学号、姓名、性别、年龄;)查询与“夏天”在同一个系学习的学生学号、姓名、性别、年龄;(5252)建立“计算机系”学生的视图)建立“计算机系”学生的视图1;(5353)建立“计算机系”学生的视图)建立“计算机系”学生的视图2,并要求进行修改与插入时,仍须保证该视图只有“计算机系”班学生;有“计算机系”班学生;(54)建立“计算机系”选修了“C001”课程的学生的视图,定义视图名为“v_cs_C001_student1v_cs_C001_student1””; (5555)建立“计算机系”班选修了“)建立“计算机系”班选修了“)建立“计算机系”班选修了“C001C001C001”课程且成绩在”课程且成绩在90分以上的学生的视图,定义视图名为“义视图名为“cs_c001_student2cs_c001_student2cs_c001_student2””; (5656)定义一个反映学生年龄的视图,定义视图名为“)定义一个反映学生年龄的视图,定义视图名为“)定义一个反映学生年龄的视图,定义视图名为“v_birth_student v_birth_student v_birth_student””; (5757)将学生表中所有女生记录定义为一个视图,视图名为“)将学生表中所有女生记录定义为一个视图,视图名为“)将学生表中所有女生记录定义为一个视图,视图名为“v_female_student v_female_student v_female_student””; (5858)将学生的学号及其平均成绩定义为一个视图,视图名为“)将学生的学号及其平均成绩定义为一个视图,视图名为“)将学生的学号及其平均成绩定义为一个视图,视图名为“v_average_student v_average_student v_average_student””; (5959)在“计算机系”学生视图中找出年龄小于)在“计算机系”学生视图中找出年龄小于22岁的学生;岁的学生;(6060)利用视图查询“计算机系”选修了“)利用视图查询“计算机系”选修了“)利用视图查询“计算机系”选修了“C001C001C001”课程的学生;”课程的学生;”课程的学生;(6161)通过()通过()通过(525252)中的“计算机系”视图修改某个学生的名字;)中的“计算机系”视图修改某个学生的名字;)中的“计算机系”视图修改某个学生的名字;(6262)通过()通过()通过(535353)中的“计算机系”视图,插入一个新学生记录。

(end)数据库实验指导书

(end)数据库实验指导书

数据库原理实验指导书湖南工程学院计算机科学与技术系2010年8月数据库原理实验报告(格式) 实验名称评分实验日期年月日指导教师姓名专业班级学号一、实验目的二、实验内容与步骤三、实验结果四、程序调试及问题分析六、实验收获及体会实验一创建、修改数据库和表结构一、实验目的:掌握建立一个数据库表结构的方法和步骤,了解数据库表的基本组成。

二、实验内容:基本表的创建和修改。

三、实验要求:(必做)硬件:Intel Pentium 120或以上级别的CPU,大于16MB的内存。

软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。

学时:2学时四、实验步骤:1、用create建立教学数据库的五个基本表:(1)学生表(学号,姓名,性别,年龄),student((Sno,sname,ssex,sage) ;(2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ;(3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ;(4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址),T(Tno,Tname,ssex,birthday,dept,title,address) ;(5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj);2、用alter修改基本表(1)在已存在的学生表student中增加一个sdept(系)的新的属性列;(2)将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。

3、建立一个临时表,然后将其删除实验二建立与删除索引一、实验目的:了解建立索引的目的,掌握建立索引与删除索引,掌握创建、修改、删除约束。

二、实验内容:建立聚簇索引、非聚簇索引、唯一索引、复合索引,删除索引,创建、修改、删除约束力。

三、实验要求:(必做)硬件:Intel Pentium 120或以上级别的CPU,大于16MB的内存。

SQL数据库_实验四_复杂查询(2)解答

SQL数据库_实验四_复杂查询(2)解答
11.查找销售金额最大的客户号、客户名称和总货贷额。
12.查找销售总额少于5000元的销售员编号、姓名和销售额。
13.查找至少订购了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额,并按客户编号排序输出。
14.查找同时订购了商品编号为“P20070001”和商品编号为“P20070002”的商品的客户编号、客户姓名、商品编号、商品名称和销售数量,按客户编号排序输出。
导入实验三中保存的订单数据库OrderDB.mdf。完成之后,进行以下的实验。写出相对应的SQL语句,并给出查询结果。
1.统计订单主表的订单金额。(用订单明细表中的订单汇总金额更新订单主表相应的订单金额属性)
2.查询订单金额最高的订单编号、客户姓名、销售员名称和相应的订单金额。
3.统计客户号为“C20050001”的客户的客户名、订单数、订货总额和平均订货金额。(表头用中文显示)
WHEREa.employeeNo=b.salerNo
GROUPBYorderSum,salerNo,employeeName
HAVINGorderSum<5000
查询结果:
13.查找至少订购了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额,并按客户编号排序输出。
SQL语句:
SELECTb.customerNo,customerName,d.productNo,productName,quantity,金额=quantity*price
ANDc.customerNo='C20050001'
GROUPBYcustomerName,orderSum
查询结果:
4.统计每个客户的客户号、客户名、订单数、订货总额和平均订货金额。(表头用中文显示)

数据库原理及应用教学大纲20110223

数据库原理及应用教学大纲20110223

课程编号: 084218课程名称: 数据库原理及应用(Principle and Application of Database)《数据库原理及应用》教学大纲一、课程的性质目的和基本要求(一)课程的性质与目的数据库技术和系统已经成为信息基础设施的核心技术和重要基础,数据库技术作为数据管理的最有效的手段,极大的促进了计算机应用的发展。

因此数据库原理及应用是计算机科学与技术、网络工程、软件工程等计算机相关专业的专业基础课程。

本课程系统讲述数据库系统的基础理论、基本技术和基本方法。

内容包括:数据库系统的基本概念、数据模型、关系数据库及其标准语言SQL、数据库安全性和完整性的概念和方法、关系规范化理论、数据库设计方法和步骤、数据库访问、数据库恢复和并发控制机制等知识。

通过本课程学习,使学生系统地掌握数据库系统的基本原理、基本技术和基本方法,具备操纵数据库、设计数据库和开发简单数据库系统的基本能力。

(二)课程的基本要求1.知识要求了解:数据库发展历史,关系代数的运算,数据库新进展。

理解:数据库的基本概念,数据库系统的三级模式结构,关系模型的基本概念,数据库的恢复技术和并发控制机制。

掌握:SQL语言的使用、数据库的完整性控制、数据库的安全管理、关系的规范化理论、数据库设计、数据库访问。

2.能力要求:简单应用:关系代数运算描述查询;数据库设计工具的使用;通过数据访问接口ADO访问数据库,实现增、删、改、查询功能;数据库系统设计开发过程。

熟练应用:SQL语言操作数据库;数据库的完整性控制;数据库的安全控制;数据库的设计方法二.课程章节及学时分配(一)理论教学序号章节教学内容理论学时1 绪论 62 关系数据库 43 关系数据库标准语言SQL 84 数据库的完整性 45 数据库的安全性 46 关系规范化理论 47 数据库设计88 数据库开发技术基础79 数据库事务技术 410 数据库技术新发展 2合计51学时(二)实践教学三、章节教学目的与要求、基本内容和重难点1.绪论(6学时)(1)教学基本要求了解:数据库技术的产生和发展;数据模型的组成,识记数据模型的发展,一般了解面向对象模型;DBMS数据存取层的有关知识。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、连接查询
(1)内连接和自身连接(2)外连接
(3)复合条件连接(4)多表连接
(四)注意事项
1、对表指定别名后,在where条件中要引用表名时,应引用别名。
2、对于空值,只能用is null或not is null进行比较,而不能用=比较。
例:select * from sc where grade is null
(8)查询计算系的选修了“计算机基础”课程的学生姓名及成绩
(9)查询与“张三”在同一个系学习的学生(EXISTS)
(10)查询课程名及各科的最高成绩和平均成绩。
(11)查询没有选修任何课程的学生的学号、姓名和所在的系名
(12)查询选修了课程,但没有成绩的学生的学号、姓名和所在的系名
(13)查询数据库原理成绩高于本班所有女生数据库原理成绩的男生的学号和姓名
通过实验达到以下目的:
(1)学会聚合函数的使用、掌握嵌套查询
(2)能综合运行各种查询语句及聚合函数完成较复杂的查询任务
(3)掌握视图的概念、学会使用SQL语句创建和修改视图,学会使用SQL语句更新视图对应的基表
二、实验要求
1、实验前:预习实验内容,学习相关知识。
2、实验中:按照实验内容要求进行实验,实验时注每种SQL语句的基本命令及各个关键字的含义,做好实验记录。
3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。
4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。
5、要求按指定格式书写实验报告,且报告中应反映出对次实验的总结,下次实验前交实验报告。
三、实验重点与难点
1、重点:
(1)各个聚合函数的使用
(2)嵌套查询
[2]《数据库系统与应用》,赵致格,清华大学出版社,2005
[3]《SQL SEVER数据库原理及应用》,张莉,清华大学出版社,2005
下次实验内容
1、聚合函数的使用
count()、max()、min()、sum()和avg()等聚合函数的使用
2、嵌套查询
(1)内外层不相关子查询
(2)内外层相关子查询
(4)原表中数据发生变化,视图中的数据是否可能跟着一起变化?
(5)满足什么条件的视图才能进行记录插入、修改和删除?
(七)实验报告要求
见实验一课件
参考文献
[1]《数据库系统及应用》,崔巍,高等教育出版社,2005
[2]《数据库系统与应用》,赵致格,清华大学出版社,2005
[3]《SQL SEVER数据库原理及应用》,张莉,清华大学出版社,2005
(3)联合查询
3、视图定义及对视图的查询、插入、修改和删除操作
实验项目(课题)教学实施方案
第5次课
第10周星期第节
授课日期:年月日
实验项目(课题)名称:数据查询(二)
计划学时:2
实验类型: 1.演示性□2.验证性√3.综合性□4.设计性□5.其它□
实验五:数据查询(二)
一、实验目的
数据查询语句是SQL语句的重要组成部分,合理使用数据查询语句,可以极大的简化应用程序编制、快速的定位分析数据库系统的故障,查询语句是编程人员与数据库管理人员必不可少的工具,通过试验,加深学生对查询语句基本概念的理解与掌握,最终达到以下目的。
通过实验达到以下目的:
(1)掌握SELECT语句的基本语法,ቤተ መጻሕፍቲ ባይዱ深学生对查询语句基本概念的理解
(2)掌握简单的单表查询。
(3)掌握连接查询。
二、实验要求
1、实验前:预习实验内容,学习相关知识。
2、实验中:按照实验内容要求进行实验,实验时注每种SQL语句的基本命令及各个关键字的含义,做好实验记录。
3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。
(三)实验内容
实验数据:dept、class、student、course和SC五个表及实验三插入到表中的数据
实验内容:
1、简单查询
(1)*、distinc的用法及表中若干列或行的选择。
(2)对查询结果排序和分组
(3)计算列、常量或空值的查询
(4)对表和列使用别名
(5)模糊查询(like的用法)
(6)between…and…、in等运算符的使用。
(六)思考与练习
(1)Where与Having语句有何差别?
(2)Count(*)与Count(字段名)有何差别?
(3)LIKE‘[^s][^y][^s]%’与NOT LIKE‘sys%’有无区别?请加以验证
(4)全连接、左连接、右连接有什么不同?
(七)实验报告要求
见实验一课件
参考文献
[1]《数据库系统及应用》,崔巍,高等教育出版社,2005
硬件:每位同学分配PC机一台
软件:windows环境安装好SQL Server
五、教学过程
(一)实验预习
(1)熟悉SQL中的select查询语句的格式及所用的关键字函义及用法
(2)准备好查询时所用的数据库及原始数据
(二)实验原理
在查询分析器下利用select命令完成对数据库中满足指定条件的数据的查询
4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。
5、要求按指定格式书写实验报告,且报告中应反映出对次实验的总结,下次实验前交实验报告。
三、实验重点与难点
1、重点:
(1)查询结果的排序和分组
(2)内连接和外连接
2、难点:
分组查询、内连接和自身连接
四、仪器设备及用具
(3)视图的定义及对视图的操作。
2、难点:
嵌套查询和对视图的操作
四、仪器设备及用具
硬件:每位同学分配PC机一台
软件:windows环境安装好SQL Server
五、教学过程
(一)实验预习
(1)熟悉SQL中的select嵌套查询的语句格式及聚合函数的一使用方法及注意事项
(2)准备好查询时所用的数据库及原始数据
(14)查询数据库原理成绩高于本班任意一个女生数据库原理成绩的男生的学号和姓名,以学号排序。
(15)创建视图:既不是计算机系、也不是电信系的学生的基本信息。
(16)创建视图:所有班级的名称,所在系名称及每班人数
(17)创建视图:选修了“数据库原理”的学生的学号和姓名
(18)用INSERT、UPDATE、DELETE命令对(17)所建视图进行操作。
实验项目(课题)教学实施方案
第4次课
第10周星期第节
授课日期:年月日
实验项目(课题)名称:数据查询(一)
计划学时: 2
实验类型: 1.演示性□2.验证性√3.综合性□4.设计性□5.其它□
实验四:数据查询(一)
一、实验目的
数据查询语句是SQL语句的重要组成部分,合理使用数据查询语句,可以极大的简化应用程序编制、快速的定位分析数据库系统的故障,查询语句是编程人员与数据库管理人员必不可少的工具,通过试验,加深学生对查询语句基本概念的理解与掌握,最终达到以下目的。
下次实验内容
存储过程的建立、修改和执行,触发器的建立和修改,设计一组操作触发触发器的执行
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求
(19)用INSERT、UPDATE、DELETE命令对(16)所建视图进行操作。观察操作结果
(20)查询分析器用Select语句完成对视图的查询(自已设计查询语句)
(六)思考与练习
(1)IN与Exists语句有何区别?
(2)不相关子查询、相关子查询有何区别?
(3)UNION与UNION ALL有何差别,谁的性能高?
2、嵌套查询
(1)内外层不相关子查询
(2)内外层相关子查询
(3)联合查询
3、视图创建和修改,对视图的查询、插入、修改和删除操作
(四)注意事项
1、在连接查询中,如果一个字段来源于两个及两个以上的表,需要指明字段的来源,即需加上表名前缀,格式为“表名.字段名”
2、在嵌套查询中,order by只能用于最外层嵌套。
(7)查询所有姓张学生的姓名、学号和性别
(8)查询名字中第2个字为“小”字的学生姓名
(9)查询电信系(dx)和计算机系(jsj)的学生(要求:使用IN关键字表示查询条件)
(10)查询没有考试成绩的学生学号和课程号
(11)查询选修了3门以上课程的学生学号(先用group by分组,再用Having限定分组条件)
3、内外层相关查询中,应对表取别名
4、对视图操作时,只有单表视图可能进行插入、修改和删除操作。
(五)实验步骤:
1、恢复上次课的数据库表结构和数据。
2、完成以下SQL语句
(1)查询成绩高于本门课程平均成绩的学生的学号、姓名、课程名和成绩
(2)查询学生总人数
(3)查询有3门以上课程是90分以上的学生的学号及(90分以上的)课程数
(12)查询没有考试成绩的学生学号和课程号
(13)查询全体学生的学号、姓名、选修的课程名及成绩
(14)查询每个学生及其选修课程情况的所有信息(用*表示字段)
(15)查询某门课程考试成绩相同的学生学号和课程信息
(16)查询与“张三”在一个系学习的学生(IN)
(17)查询选修了“数据库原理”的学生学号和姓名
(18)查询每个学生的选修课程包括没有选修课程的学生(外连接)
(19)查询每个学生的选修课程包括没有被学生选修的课程(外连接)
(20)查询每个学生的选修课程即包括没有被学生选修的课程又包括没有被学生选修的课程(全连接)
(21)查询成绩高于本课程的平均成绩的学生学号和姓名
(22)查询选修cn01号课程且成绩在90分以上的所有学生的学号、姓名和成绩
相关文档
最新文档