数据库上机实验(五)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称:SQL语句及数据编辑、视图管理实验
实验目的:
1.掌握利用SQL语句查询数据的方法。
2.掌握数据表编辑方法。
3.掌握视图的创建方法。
实验内容及步骤:
1.数据查询
综合查询
根据下表结构写出查询语句。
select sn as学生,sum(程序设计)as程序设计,
sum(微机原理)as微机原理,
sum(数据库)as数据库,
sum(编译原理)as编译原理,
sum(操作系统)as操作系统,
sum(数据结构)as数据结构,
sum(数字逻辑)as数字逻辑
from (
select sn,case when cn='程序设计'then score else 0 end as程序设计, case when cn='微机原理'then score else 0 end as微机原理,
case when cn='数据库'then score else 0 end as数据库,
case when cn='编译原理'then score else 0 end as编译原理,
case when cn='操作系统'then score else 0 end as操作系统,
case when cn='数据结构'then score else 0 end as数据结构,
case when cn='数字逻辑'then score else 0 end as数字逻辑from (
select s.sn,,sc.score
from s
left join sc on sc.sno=s.sno
left join c on o=o
) a
) a
group by sn
2.数据编辑
●求出各系教师的平均工资,把结果存放在新表AvgSal中。1)首先建立新表AvgSal,用来存放系名和各系的平均工资CREATE TABLE AvgSal
(Department VARCHAR(20),
Average SMALLINT)
2)求出T表中各系的平均工资,把结果存放在新表AvgSal中INSERT INTO AvgSal
SELECT Dept,AVG(Sal)
FROM T
GROUP BY Dept
●把讲授C5课程的教师的岗位津贴增加100元。
UPDATE T
SET Comm=Comm+ 100
WHERE (TNo IN(SELECT T.TNo
FROM T,TC
WHERE T.TNo=
TC.TNo AND o='C05'))
●把所有教师的工资提高到平均工资的1.2倍。
UPDATE T
SET Sal=(SELECT 1.2 *AVG(Sal)
FROM T)
●删除刘伟老师授课的记录。
DELETE
FROM TC
WHERE (TNo=
(SELECT TNo
FROM T
WHERE TN='刘伟'))
3.视图
●创建一学生视图S_SC_C(包括学号、姓名、课程名及成绩)。
创建视图:
CREATE VIEW S_SC_C
AS SELECT S.SNo,SN,CN,Score
F ROM S,C,SC
W HERE S.SNo=SC.SNo AND o=o 查询视图:select*from s_sc_c
●删除视图
DROP VIEW s_sc_c
利用企业管理器管理方法
1)打开视图创建窗口
2)视图创建窗口中,填写sql语句
此处写入查询语句
3)点击保存
4)删除视图