11.18-创建视图 11.19-SELECT语法结构 11.20-简单查询 11.21-连接查询 11.22-聚集函数 11.23-授权语句

发布于:2022-12-21 ⋅ 阅读:(129) ⋅ 点赞:(0)

一、视图

1、概念

  • 在关系数据库中,视图是一张虚拟的表。
  • 也就是说数据库中,存放视图的虚拟表,不像数据库中的其他基础表一样存放着相关的数据结构,而是存放着视图的定义。当需要用视图查询数据时,视图会通过其查询语句从其他的表或者视图中将数据导出来呈现给用户。

2、作用

  • 通过视图,可以对机密数据提供安全保护,屏蔽后台数据的复杂性;
  • 通过视图,可以根据用户的不同需求,为其定制专属的呈现出来的数据;
  • 通过视图,使用户能以多种角度看待同一数据;
  • 视图对重构数据库提供了一定程度的逻辑独立性;
  • 数据的逻辑独立性是指当数据库重构造时,如增加新的关系或对原有的关系增加新的字段,用户的应用程序不会受影响。在关系数据库中,重构数据库最常见的是将一个基本表“垂直”地分成多个基本表。例如:将学生关系Student(Sno,Sname,Ssex,Sage,Sdept), 分为SX(Sno,Sname,Sage)和SY(Sno,Ssex,Sdept)两个关系。这时原表Student为SX表和SY表自然连接的结果。如果建立一个视图Student:
CREATE  VIEW Student(Sno,Sname,Ssex,Sage,Sdept)
AS
SELECT SX.Sno,SX.Sname,SY.Ssex,SX.Sage,SY.Sdept
FROM SX,SY
WHERE SX.Sno=SY.Sno;
这样尽管数据库的逻辑结构改变了(变为SX和SY两个表了),但应用程序不必修改,因为新建立的视图定义为用户原来的关系,使用户的外模式保持不变,用户的应用程序通过视图仍然能够查找数据。

3、创建视图的语法

4、考点

(1)视图的概念

(2)视图的创建

二、SELECT语法结构

1、作用

  • 执行检索,也就是把需要的数据从数据库中查询出来。

2、语法

3、注意

  • where条件查询实现了从水平方向对元组的筛选。
  • select后的属性名(列名)实现了从垂直方向对元组的筛选。

三、简单查询

1、语法

2、考点:SELECT简单查询的应用

四、连接查询

1、语法

2、注意

  • 在进行多表查询时,其实是通过表中的外键将两张或者多张表拼接成一张大的呃表,然后再在表中查询需要的数据。

3、考点:SELECT连接查询的应用

五、聚集函数

1、聚集函数的分类

  • 平均值:AVG
    最小值:MIN
  • 最大值:MAX
  • 求和:SUM
  • 计数:COUNT

2、使用方法

  • 函数名(列名)
  • 例如:求员工薪资列的最大值:MAX(员工工资)

3、查询员工总数

注意
  • COUNT(*)中的*可以用其他的列名代替。如果用主属性替换*,那么最后统计出来的数是一样的;但如果用非主属性替换*,统计出来的值可能会不一样,因为非主属性的值可能存在为空的情况,那么这个元组就不会被统计到总数中了。
  • 此处的as可以省略。 当使用统计函数统计时,返回统计函数的值没有列,在实际应用过程中,后期可能会遗忘这个返回值的含义,所以为了方便使用,一般会给统计函数的返回值起一个列名。

4、查询部门人员少于5个的部门号

注意
  • GROUP BY 按哪一列分组的列名 Having 分组条件;
  • where语句的执行优先级是高于having的,因为having是在分组的基础上再进行限制的条件,也就是说where是在分组之前的筛选条件,having是在分组之后的查询条件。
  • 在select后面跟随的列,除了使用聚集函数的列之外,其他的列都要写在分组条件中,也就是group by 后面,将作为分组依据的列放在第一个,其余列放在后面。

5、考点:select统计查询的应用

六、授权语句

1、语法

2、将员工表查询、更新的权利赋予给用户U1

3、将对供应商S的插入权限赋给用户U1,并允许将此权限赋给其他与用户

4、考点:授权语句的应用


网站公告

今日签到

点亮在社区的每一天
去签到