sql复习(视图、Top-N分析、其他数据库对象)

news2024/9/22 15:46:50

一、视图view

1.视图定义

视图是一种虚表。
视图建立在已有表的基础上, 视图赖以建立的这些表称为基表
向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句。
视图向用户提供基表数据的另一种表现形式。

2.使用视图的好处

控制数据访问
简化查询
避免重复访问相同的数据

3.简单视图和复杂视图

没有用分组函数的都是简单视图

在 CREATE VIEW 语句中嵌入子查询

create or replace view empview3
as
select department_name dept_name,avg(salary) avg_sal
from employees e,departments d
where e.department_id = d.department_id
group by department_name

在复杂视图中进行DML(增删改)操作时会出现错误信息
ORA-01732: 此视图的数据操纵操作非法

--删除视图empview3
drop view empview3;

删除视图不会删除原表的数据

如果不希望用户通过视图修改数据,可以不给用户赋予该视图的update,delete,insert的权限。也可以在创建视图时使用with read only设置只读属性,创建视图时加在最后。

--只读视图
create or replace view employee_vu
as
select last_name,employee_id,department_id
from employees
where department_id = 80
with read only

二、Top-N分析

--查找employees表中工资排名前十的员工信息
select rownum,employee_id,last_name,salary
from(
    select employee_id,last_name,salary
    from employees
    order by salary desc
    )
where rownum <= 10

注意::
对 ROWNUM 只能使用 < 或 <=, 用 =、 >、 >= 都不能返回任何数据。

所以当查询中间部分的信息时,需要将rownum变成一个真实的列,不再是一个伪列

rownum “伪列”——数据表本身并没有这样的列,是 oracle 数据库为每个数据表 “加上的” 列。
可以标识行号,默认情况下 rownum 按主索引来排序. 若没有主索引则自然排序。

select rn,employee_id,last_name,salary
from (
     select rownum rn,employee_id,last_name,salary
     from(
          select employee_id,last_name,salary
          from employees
          order by salary desc
          )
     )
where rn > 40 and rn <=50

三、其他数据库对象(序列、索引、同义词)

常见的数据库对象

1.序列sequence

序列::可供多个用户用来产生唯一数值的数据库对象
自动提供唯一的数值
共享对象
主要用于提供主键值
将序列值装入内存可以提高访问效率

<1>CREATE SEQUENCE 语句

--定义序列
CREATE SEQUENCE sequence
[INCREMENT BY n]  --每次增长的数值
[START WITH n]    --从哪个值开始
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]     --是否需要循环
[{CACHE n | NOCACHE}];  --是否缓存登录
create sequence empseq
increment by 10 --每次增长10
start with 10 --从10开始增长
maxvalue 100 --提供的最大值
cycle --需要循环
nocache --不需要缓存登录

<2>NEXTVAL 和 CURRVAL 伪列

NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用
CURRVAL 中存放序列的当前值
NEXTVAL 应在 CURRVAL 之前指定 ,否则会报CURRVAL 尚未在此会话中定义的错误。

<3>ALTER SEQUENCE 语句

用ALTER SEQUENCE 语句来修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内存

<4>DROP SEQUENCE 语句

使用 DROP SEQUENCE 语句删除序列

2.索引index

索引被删除或损坏, 不会对表产生影响, 其影响的只是查询的速度
通过指针加速 Oracle 服务器的查询速度

--创建索引
CREATE INDEX emp_last_name_idx
ON employees(last_name)

可以使用数据字典视图 USER_INDEXES 和 USER_IND_COLUMNS 查看索引的信息

--查询索引
SELECT  ic.index_name, ic.column_name,
  ic.column_position col_pos,ix.uniqueness
FROM  user_indexes ix, user_ind_columns ic
WHERE  ic.index_name = ix.index_name
AND  ic.table_name = 'EMPLOYEES'

删除索引操作不可回滚

--删除索引
DROP INDEX emp_last_name_idx

3.同义词synonym

--为employees表创建同义词
CREATE SYNONYM e
FOR employees
--删除同义词
DROP SYNONYM e

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/351690.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【离线数仓-1-数仓前期建设准备工作】

离线数仓-1-数仓前期建设准备工作离线数仓-1-数仓前期建设准备工作1.数仓概念1. 数据仓库概念2. 数据分类3.数据仓库总视图4.数据仓库项目需求分析5.数仓搭建技术基础分析1.项目技术如何选型&#xff1a;2.框架版本如何选型&#xff1b;3.服务器使用物理机还是云主机&#xff1…

C++:模板初阶(泛型编程、函数模板、类模板)

文章目录1 泛型编程2 函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的原理2.4 函数模板的实例化2.5 模板参数的匹配原则3 类模板3.1 类模板的定义格式3.2 类模板的实例化1 泛型编程 所谓泛型&#xff0c;也就是通用型的意思。 在以往编写代码时&#xff0c;我们常常…

Greenplum的两阶段提交

注&#xff1a;本文章引自终于把分布式事务讲明白了&#xff01; 在前面的文章中&#xff0c;我们了解了单机库中的事务一致性实现以及分布式事务中的两阶段提交协议。大多数分布式系统都是采用了两阶段提交塄来保证事务的原子性&#xff0c;Greenplum也是采用了两阶段提交&am…

ChatGPT直播课听不够?微软ATP教你系统化入门人工智能

爆火的ChatGPT直播课听不过瘾&#xff1f;系统化AI知识在哪学&#xff1f;国际TOP科技公司AI算法工程师团队来为你支招&#xff01;▍微软AI算法专家助力系统化学习人工智能「微软ATP」Microsoft AI Talent Program是微软&#xff08;亚洲&#xff09;互联网工程院下属的提供专…

【测试】自动化测试02

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录前言 回顾 预告一、常见的元素操作1. 输入文本sendKeys()2. 点击click3. 提交submit&#xff08;通过回车键提交&#xff09;4. 清除clear5. 获取文本getText()6. 获取属性对应的值getAttribute()7. 查看title和ur…

(二十四)ATP应用测试平台——springboot集成fastdfs上传与下载功能

前言 本节内容我们主要介绍一下如何在springboot项目中集成fastdfs组件&#xff0c;实现文件的上传与下载。关于fastdfs服务中间键的安装过程&#xff0c;本节内容不做介绍。fastdfs是一个轻量级的分布式文件系统&#xff0c;也是我们文件存储中常常使用的组件之一&#xff0c…

酷开系统壁纸模式,将氛围感死死拿捏!

古希腊哲学家柏拉图曾经说过&#xff1a;“美感是起于视觉、听觉产生的快感&#xff0c;以人的感官所能达到的范围为极限。”而电视则恰恰就是视觉听觉的完美融合体&#xff0c;当一台开启的电视可以给我们带来视听享受的时候&#xff0c;一台待机状态下的电视又如何取悦于我们…

Kotlin新手教程三(类与继承)

一、类 1.类的声明 与Java中类似&#xff0c;Kotlin中的类声明使用关键字class&#xff1a; class Person {var height: Int185 //规范写法&#xff1a;冒号后需要紧跟一个空格 }当你定义的类没有类体时&#xff0c;可以省略花括号&#xff1a; class Person2.构造函数…

多云和混合云场景下的 API 管理:挑战与选择

作者张超&#xff0c;API7 Cloud 产品负责人&#xff0c;Apache APISIX PMC 成员。 原文链接 一、多云和混合云 如今微服务已经成为最流行的一种软件架构&#xff0c;人们通过自己对业务的理解&#xff0c;和科学方法&#xff08;比如领域驱动设计的理论&#xff09;的加持将…

算法刷题打卡第93天: 最大的以 1 为边界的正方形

最大的以 1 为边界的正方形 难度&#xff1a;中等 给你一个由若干 0 和 1 组成的二维网格 grid&#xff0c;请你找出边界全部由 1 组成的最大 正方形 子网格&#xff0c;并返回该子网格中的元素数量。如果不存在&#xff0c;则返回 0。 示例 1&#xff1a; 输入&#xff1a…

c++11 标准模板(STL)(std::multimap)(九)

定义于头文件 <map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class multimap;(1)namespace pmr { template <class Key, class T…

【论文速递】ACL 2021-CasEE: 一种用于重叠事件抽取的级联解码联合学习框架

【论文速递】ACL 2021-CasEE: 一种用于重叠事件抽取的级联解码联合学习框架 【论文原文】&#xff1a;A Joint Learning Framework with Cascade Decoding for Overlapping Event Extraction 【作者信息】&#xff1a;Sheng, Jiawei and Guo, Shu and Yu, Bowen and Li, Qian…

Python登陆系统

前言 #源码见文末公众号哈# 登录系统 一个简单的登录系统包含了登录账户、注册账户、修改密码以及注销账户的操作。 1. 登录账户 登录系统主要需要判断账户是否存在&#xff0c;不存在就注册一个账户&#xff0c;如果第一次登录系统&#xff0c;我们需要先新建一个文件&…

解密Teradata与中国市场“分手”背后的原因!国产数据库能填补空白吗?

2月15日&#xff0c;西方的情人节刚刚过去一天&#xff0c;国内IT行业就爆出一个大瓜。 继Adobe、甲骨文、Tableau、Salesforce之后&#xff0c;又一个IT巨头要撤离中国市场。 Teradata天睿公司官宣与中国市场“分手”&#xff0c;结束在中国的直接运营。目前&#xff0c;多家…

MySQL Study Notes Design in 2023

文章目录1 概述1.1 MySQL相关概述1.2 数据模型1.3 SQL分类2 数据库设计-DDL2.1 约束2.2 字段3 数据库操作-DML3.1 增加(insert)1 概述 1.1 MySQL相关概述 数据库&#xff1a;英文为 DataBase&#xff0c;简称DB&#xff0c;它是存储和管理数据的仓库。 数据库管理系统&#xf…

为什么重写equals必须重写hashCode

关于这个问题&#xff0c;看了网上很多答案&#xff0c;感觉都参差不齐&#xff0c;没有答到要点&#xff0c;这次就记录一下&#xff01; 首先我们为什么要重写equals&#xff1f;这个方法是用来干嘛的&#xff1f; public boolean equals &#xff08;Object object&#x…

Wallys|5 GHz 802.11ax|Does wallys QCN9074-5G module support W56?

Wallys|5 GHz 802.11ax|Does wallys QCN9074-5G module support W56?-Does wallys QCN9074-5G module support W56?-The answer is---sure!In this article,we’ll introduce about the W56 at 11ax 5GHz.If you realized this article is helpful, kindly help re-post / co…

《C陷阱与缺陷》----词法“陷阱”

导言&#xff1a; 由于一个程序错误可以从不同层面采用不同方式进行考察&#xff0c;而根据程序错误与考察程序的方式之间的相关性&#xff0c;可以将程序错误进行划分为各种陷阱与缺陷&#xff1a; ①.词法“陷阱” ②.语法“陷阱” ③.语义“陷阱” ④.连接问题 ⑤.库函数问…

Microsoft Office 2021 / 2019 Direct Download Links

前言 微软Office在很长一段时间内都是最常用和最受欢迎的软件。从小型创业公司到大公司,它的使用比例相当。它可以很容易地从微软的官方网站下载。但是,微软只提供安装程序,而不提供完整的软件供下载。这些安装文件通常比较小。下载并运行后,安装的文件将从后端服务器安装M…

2023美赛B题思路数据代码分享

文章目录赛题思路2023年美国大学生数学建模竞赛选题&论文一、关于选题二、关于论文格式三、关于论文提交四、论文提交流程注意不要手滑美赛B题思路数据代码【最新】赛题思路 (赛题出来以后第一时间在CSDN分享) 最新进度在文章最下方卡片&#xff0c;加入获取一手资源 202…