码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 11.18-创建视图 11.19-SELECT语法结构 11.20-简单查询 11.21-连接查询 11.22-聚集函数 11.23-授权语句


    目录

    一、视图

    1、概念

    2、作用

    3、创建视图的语法

    4、考点

    (1)视图的概念

    (2)视图的创建

    二、SELECT语法结构

    1、作用

    2、语法

    3、注意

    三、简单查询

    1、语法

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

    四、连接查询

    1、语法

    2、注意

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

    五、聚集函数

    1、聚集函数的分类

    2、使用方法

    3、查询员工总数

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

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

    六、授权语句

    1、语法

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

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

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


    一、视图

    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、考点:授权语句的应用

  • 相关阅读:
    VUE(混入mixin、计算属性computed、监听watch)
    Android Jetpack系列(七):Room(使用篇)
    工信部证书的作用是什么
    Vue3_vite
    【Python机器学习】零基础掌握empirical_covariance协方差估计
    React SSR - 写个 Demo 一学就会
    gulp打包vue3+jsx+less插件
    胖小酱为什么天上会打雷?
    多输入多输出 | Matlab实现GWO-BP灰狼算法优化BP神经网络多输入多输出预测
    同一台Linux同时安装MYSQL5.7和MYSQL8(第一篇)
  • 原文地址:https://blog.csdn.net/qq_46071165/article/details/126807707
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号