教学思路SQL之入门习题《学生成绩》 五、使用视图完成多表查询

简介:
视图的概念:
  • 视图对象是一个虚拟的表,虚拟表所包含的结果集是对一个或多个表的查询。
  • 视图本身不保存这个结果集,而是保存查询的定义。
  • 视图的定义是对已经存在表的查询。
  • 使用视图和使用表很类似,可以把视图当做一个表来查询,SQL Server动态执行视图的定义得到的结果集。
视图与表的区别:
  • 视图能为用户集中组织数据
        数据库表中所包含的列并不一定都是用户所需要的数据,有些列多用户是无用的,而有些用户需要的列又被分散在多个不同的表中。使用视图可以把用户需要的列组织起来给用户使用。
  • 视图可以隐藏数据库的复杂性
        如果没有视图对象,用户就需要了解数据库的实体关系的模型,了解每个表的设计等等,然后通过复杂的查询语句获得需要的数据。创建视图后,用户无需再了解表的设计和表间的关系,只要使用简单的语句:“select * from 视图名称”,就能得到所需要的数据了。
  • 简化用户权限的管理
        当源表中的部分列是敏感数据,例如身份证、信用卡号码等的时候,管理员需要对列设置权限,这对权限管理来说不是很方便。利用视图,可以把有权限的列放到视图中,然后同统一为视图对象授权。
  • 为应用程序组织和输出数据
        在应用程序中既可以直接查询表,也可以查询视图。但是查询表会有如下潜在的问题:
        不利于开发:对应用程序开发人员来说,需要详细了解数据库中所有表的设计。这对应用程序开发者来说要求比较高,也比利于生产力的提高。
        不利于维护:当数据库的设计更改的时候,因公程序也需要重新编写,不利于程序后期的维护。使用视图组织数据可以避免这两个问题。
创建单表视图:
create view  学生表视图  as select * from student where sex='男'
利用视图插入数据
insert into 学生表视图 (name,sex,age,diqu)values('臭小子','男',23,'太原')
利用视图修改数据
update 学生表视图 set  age=21 where name='臭小子' 
利用视图删除数据
delete from 学生表视图 where name='臭小子' 
建立本库四个表的视图的脚本语言为:
建立视图的脚本
  因为四个表中存在多个主外键关系,所有不能利用视图插入或删除源表数据,我们使用视图来完成部分第3节查询脚本。
--1、查询出所有大连地区的学生的成绩。
select score from alltable where diqu='大连'
--2、查询有考试成绩纪录的学生的信息.
select name,age,sex,平均分=avg(score) from alltable group by name,age,sex
--3、将所有大连地区学生的课程编号为3的课程成绩加10分。
update alltable set score=score+3 where scorenumber=3
本文转自叶子文文博客51CTO博客,原文链接http://blog.51cto.com/leafwf/185774如需转载请自行联系原作者

叶子文文
相关文章
|
2月前
|
SQL 存储 数据管理
SQL数据库的使用指南:从入门到精通
随着信息技术的飞速发展,数据库已成为各类企业和组织不可或缺的一部分。作为最流行的数据库管理系统之一,SQL数据库广泛应用于各种场景,如数据存储、数据管理、数据分析等。本文将详细介绍SQL数据库的使用方法,帮助初学者快速入门,并帮助有经验的开发者深化理解。一、SQL数据库基础首先,我们需要理解SQL数
127 2
|
2月前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
2月前
|
SQL 存储 数据库
实验4:SQL视图操作与技巧
在SQL数据库管理中,视图(View)是一种虚拟表,它基于SQL查询的结果集创建,并不存储实际数据,而是存储查询定义
|
2月前
|
SQL 存储 数据库
实验4:SQL视图操作技巧与方法
在数据库管理系统中,视图(View)是一种虚拟表,它基于SQL查询的结果集创建,并不实际存储数据
|
2月前
|
存储 SQL 安全
|
2月前
|
SQL 数据库
SQL使用视图的优缺点
SQL使用视图的优缺点
54 0
|
3月前
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【9月更文挑战第13天】在开发Python Web应用时,安全性至关重要。本文通过问答形式,详细介绍如何防范SQL注入、XSS及CSRF等常见威胁。通过使用参数化查询、HTML转义和CSRF令牌等技术,确保应用安全。附带示例代码,帮助读者从入门到精通Python Web安全。
94 6
|
2月前
|
存储 SQL 数据库
使用SQL创建视图和存储过程
使用SQL创建视图和存储过程
19 0
|
2月前
|
SQL 安全 关系型数据库
SQL自动化注ru-SQLmap入门操作(一)
SQL自动化注ru-SQLmap入门操作(一)
|
2月前
|
SQL 安全 关系型数据库
SQL自动化注茹-SQLmap入门操作(二)
SQL自动化注茹-SQLmap入门操作(二)