sql复习(视图、Top-N分析、其他数据库对象)
一、视图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,salaryfrom employeesorder 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,salaryfrom(select employee_id,last_name,salaryfrom employeesorder 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
相关文章:
sql复习(视图、Top-N分析、其他数据库对象)
一、视图view 1.视图定义 视图是一种虚表。 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句。 视图向用户提供基表数据的另一种表现形式。 2.使用视图的好处 控制数据访问 简…...
2023年私募股权基金研究报告
第一章 概况 PE是私募,也即私募投资基金,是指以非公开发行方式向合格投资者募集的,投资于股票、股权、债券、期货、期权、基金份额及投资合同约定的其他投资标的(如艺术品、红酒等)的投资基金,简称私募基金…...
Redis单点故障+红锁原理
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、Redis单点故障二、红锁原理三、Redission实现了红锁一、Redis单点故障 单台redis容易出单点故障采用集群,获取到锁之后数据持久化到rdb,aof文件中从节点有可能在从主节点拿到数据之前,主节点…...
数据库中的存储过程
1、创建存储过程create procedure sp_name[参数名] [类型],[参数名] [类型]asbegin.........end以上格式还可以简写成:create proc sp_name[参数名] [类型],[参数名] [类型]asbegin.........end/*注:“sp_name”为需要创建的存储过程的名字,该…...
基于 VPX 总线的工件台运动控制系统研究与开发-DSP+FPGA硬件架构(一)
作为光刻机核心单元之一,超精密工件台主要负责实现快速扫描、上下片、精密定位、调平调焦等功能。目前,较为成熟的方案大多采用 VME 并行总线架构来建立超精密工件台控制系统,由于随着系统性能要求的提升,VME 总线以及相应的处理器…...
Android 9.0 根据包名授予app所需的权限
1.概述 在9.0的系统rom产品定制化开发中,在对系统app首次启动默认是会弹出授权的弹窗的,但是对于产品来说会显示的有些麻烦,对产品体验度也不是很好,所以在进行产品开发的时候,默认要求对一些app根据包名授予权限,这样就不会弹出授权的窗口了默认就有权限了,接下来就来实…...
如何将Python包发布到PyPI上,使用pip安装自己的库
如何发布自己的第三方库1. PyPi的用途2.Python包发布步骤2.1 创建目录结构2.2 准备文件1、README.rst2、LICENSE.txt,创建许可证3、setup.py文件4.克隆setup.py仓库(推荐)2.3 编写核心代码2.4 生成分发档案2.5 发布包到PyPi3.验证发布PYPI成功…...
【Git】git常用命令总结
简言 git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 里面有很多常用的命令语法,在此做一个常用命令总结记录,以备不时之需。 命令总结 由于git是基于linux开发的工具,所以有个特点&a…...
Cortex-M0中断控制和系统控制
目录1.NVIC和系统控制块特性2.中断使能和清除使能3.中断挂起和清除挂起4.中断优先级5.中断控制的通用汇编代码使能和禁止中断设置和清除中断挂起状态设置中断优先级6.异常屏蔽寄存器(PRIMASK)7.中断输入和挂起行为8.中断等待9.系统异常的控制寄存器10.系…...
科技云报道:2023,云计算的风向变了
科技云报道原创。 2022,是云计算的“分水岭”之年。 与前两年的火热相比,2022年云计算行业实属不太好过:阿里云一季度营收增速创出历史新低,腾讯云的市场份额也被后来者华为云反超,沦为第三。 在此情形下,…...
工程管理系统源码-专注项目数字化管理-工程管理
工程项目各模块及其功能点清单 一、系统管理 1、数据字典:实现对数据字典标签的增删改查操作 2、编码管理:实现对系统编码的增删改查操作 3、用户管理:管理和查看用户角色 4、菜单管理:实现对系统菜单的增删改查操…...
Nacos详细使用操作文档(图文详细)
文章目录Nacos详细使用操作文档(图文详细)1、安装2、Nacos作为注册中心2.1、Nacos服务注册【ICRMS】2.2、Nacos 服务调用2.2.1、Feign 远程调用【Personnel】2.2.2)、RestTemplateRibbon 远程调用【Personnel】3、Nacos作为配置中心4、Nacos 命令空间5、Nacos配置文件参数详解N…...
如何评价2023年美赛ABC题目
A题 遭受干旱侵袭的植物群落 背景 不同种类的植物对压力的反应方式不同。例如,草原对干旱非常敏感。干旱发生的频率和严重 程度各不相同。大量的观察表明,不同物种的数量在植物群落如何适应连续几代的干旱周期中 起着重要作用。在一些只有一种植物的…...
Win10显示dds及tga缩略图
整理之前做游戏MOD时收集的模型资源,3D游戏模型的贴图文件格式基本都是dds或tga的,毕竟无损压缩、支持嵌入MipMap、带透明通道、可以被GPU硬解balabala...道理我都懂但这俩玩意系统根本直接查看不了,就算装上专门的看图软件或插件,文件夹视图下也没有缩略图预览,只能一个个点开…...
Lesson5.1---Python 之 NumPy 简介和创建数组
一、NumPy 简介 NumPy(Numerical Python)是 Python 的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比 Python 自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示…...
Exchange 2013升级以及域名绑定等若干问题
环境简介Exchange 2013服务器位于ad域中,系统为Windows server 2012 R2,其内部域名为:mail.ad.com一. Exchange客户端无法在浏览器中正常运行在域中部署Exchange服务器后,除了可以通过outlook、foxmail等邮件客户端来使用邮箱功能…...
linux安装jenkins
1. 官网寻找安装方式 进入到jenkins官网,找到对应的下载页面:https://www.jenkins.io/download/ 根据自己系统还有想要使用的版本,进行选择即可。这里我们使用CentOS作为示例,版本选择长期支持版(LTS) 2.…...
【MySQL】MySQL表的增删改查(CRUD)
✨个人主页:bit me👇 ✨当前专栏:MySQL数据库👇 ✨算法专栏:算法基础👇 ✨每日一语:生命久如暗室,不碍朝歌暮诗 目 录🔓一. CRUD🔒二. 新增(Creat…...
GCC for openEuler 数据库性能优化实践
GCC for openEuler是基于开源GCC开发的编译器工具链(包含编译器,汇编器,链接器),在openEuler社区开源发布,并通过鲲鹏社区免费提供二进制包,支持aarch64处理器架构。 关键特性 支持鲲鹏微架构芯…...
【C++】类和对象(第二篇)
文章目录1. 类的6个默认成员函数2. 构造函数2.1 构造函数的引出2.2 构造函数的特性3. 析构函数3.1 析构函数的引出3.2 析构函数的特性4. 拷贝构造函数4.1 概念4.2 特性5.赋值运算符重载5.1 运算符重载概念注意练习5.2 赋值重载实现赋值重载的特性6. const成员函数7. 取地址及co…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
