使用sql语言创建数据库的方法(5)

2020-02-21 19:06

(3)向课程表录入一条课程信息

(05000106,数据库访问技术,48,6,05000105) Insert into course

Values ('05000106','数据库访问技术','48','6','05000105') Go

第三种连接查询 自身连接

查询数据库访问技术这门课程的间接先修课号; 间接先修课:先修课的先修课号 (1)查询数据库访问技术的先修课号 Select cpno From course as c1

Where cname='数据库访问技术'

(2)查询'05000105'这门课程的先修课号 Select cpno From course c2

Where c2 cno='05000105' Select c2.cpno

From course c1,course c2 Where c1.cpno=c2.cno

c1.cname='数据库访问技术' 题目2

查询比数据库程序设计课程学分高的课程的课程号和课程名 (1)查询数据库程序设计的学分

select ccredit From course

Where cname='数据库程序设计'

(2)查询比数据库程序设计课程学分高的课程的课程号和课程名 Select cno.cname,ccredit From course as x2

Where ccredit>7.5 --结合

Select x2.cno,x2.cname From course x1,course x2

Where x1.ccredit

左外连接,保留主表内所有的行 保留副表内符合连接的行 Select 目标列

From 主表1 left outer join 副表2 on (连接条件) where 选择条件 右外连接

From 副表2 right outer join 主表1 on(连接条件) 查询所有学生的选课信息(包含没有选课的) Select student.sno,sname,cno

From student left outer join sc on (student.sno=sc.sno) 嵌套查询

父查询:select ??

From??

Where 列 in(连接谓词) 子查询:(select 查询 ) 将表内数据删除 Delete from 表名 有关数据的操作: 数据录入insert 数据查询select 数据更新update 数据删除delete

如果想查看表内数据只能使用select 录入、更新、删除结果只是行受影响 视图的内容

1、将多条查询语句封装在一起,行成视图 用来简化用户的查询操作

2、建立的视图也是表的结构

3、与表的区别:表在数据库中存在结构,存在数据,视图在数据库中只存在结构,没有数据

4、对视图的查询过程:查询语句-视图定义-找到视图基于的表,查找表 5、视图是在表的基础上建立 方法:创建视图 Create view 试图名 As

(select 查询语句)

(1)创建视图v1,查询所有选课的学生的学号,姓名,选择课程的课程名和成绩 create view v1 as

select student.sno,sname,cname,grade from student join sc on(student .sno=sc.sno) join course on (sc.cno=course.sno) 把视图作为虚拟表来使用 Select * from v1

(2)创建视图v2,查询没有选课的学生的学号和姓名 create view v2 as

select student.sno,sname

from student left join sc on (student.sno=sc.sno) where cno is null

(3)创建视图v3,统计每个学生的平均成绩显示结果包含学号,姓名,平均成绩

在分组语句的select中出现的列只能在group by 子句中,或者在聚合函数中 法1:create view v3(学号,姓名,平均成绩) as

select student.sno,sname,avg(grade) from student join sc on (student.sno=sc.sno)

group by student.sno,sname 法2:create view v3() as

select student.sno,sname,avg(grade) '平均成绩' from student join sc on (student.sno=sc.sno) group by student.sno,sname

(4)创建视图v4,查询平均成绩在60分以上的学生的学号,姓名和平均成绩? create view v4 (学号,姓名,平均成绩) as

select student.sno,sname,avg(grade) from student join sc on (student.sno=sc.sno) group by student.sno,sname having avg(grade)>=60 基于视图的视图的创建 V3(学号,姓名,平均成绩) Select 学号,姓名,平均成绩 From v3

Where 平均成绩 >= 60 V3(学号,姓名,平均成绩) Creat view v41 as Select * From v3


使用sql语言创建数据库的方法(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017 - 2018学年高中语文专题一“风神初振”的初唐诗滕王阁教师

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: