![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
文章平均质量分 87
Aluphami
这个作者很懒,什么都没留下…
展开
-
【FUN】开窗函数
目录定义参数含义overpartition byorder byrank()/dense_rank()rank()dense_rank()测试一方法一方法二方法三first_value()last_value()测试二方法一方法二测试三lead(col_name,x,y)lag()定义用于计算给予组的某种聚合值,和聚合函数不同之处是:对于每个组返回多个行,而聚合函数对于每个组只返回一行,开窗函数制定了分析函数...原创 2021-02-23 08:54:40 · 238 阅读 · 0 评论 -
【Query】标量子查询 scalar subquery
目录定义定义标量子查询是一个子查询,它只从一行中返回一个列值。标量子查询表达式的值是子查询的可选列表项的值。如果子查询返回 0 行,则标量子查询表达式的值为 NULL。如果子查询返回多行,则报错。可以在大多数要求表达式 (expr) 的语法中使用标量子查询表达式。在所有情况下,标量子查询必须包含在其自己的括号中,即使其句法位置已将其定位在括号内(例如,当标量子查询用作内置函数的参数时)。他不能用在如下条件中:不能作为列的默认值不能作为cluster的哈希表...原创 2021-02-20 22:19:30 · 4644 阅读 · 0 评论 -
【OBJ】触发器 TRIGGER
目录定义触发器事件触发器(事件)的种类以及它们包括的事件触发器种类CREATE TRIGGEROR REPLACEEDITIONABLE | NONEDITIONABLERestriction on NONEDITIONABLEDML事件触发器特点行级触发器测试一条件 对表进行增删改时进行触发测试二条件 当修改数值达到条件时触发测试三条件 当达到条件时触发报错级联触发器测试一测试二语句级触发器测试一数据库...原创 2021-02-20 22:04:26 · 654 阅读 · 0 评论 -
【TAB】虚拟列 virtual columns
目录定义特性创建带虚拟列的表创建基于函数的虚拟列在虚拟列上创建索引添加虚拟列基于虚拟列分区定义使用 virtual_column_definition子句可以定义虚拟列,它不存在磁盘中,相反它是一个函数或是一组表达式,按照需求派生出来的一列值column_name [datatype] [GENERATED ALWAYS] AS [expression] [VIRTUAL]特性虚拟列可以用在select,update,delete语句的where条件中,但...原创 2021-02-09 11:13:38 · 375 阅读 · 0 评论 -
【DDL】GRANT和REVOKE
目录简介ORACLE权限分类系统权限对象权限角色用户的创建和管理GRANTwith admin optionwith grant optionREVOKE简介GRANT由管理员授予用户系统权限,由对象所有者授予对象权限REVOKE由管理员回收用户系统权限,由对象所有者回收对象权限ORACLE权限分类要了解如何授权和回收权限,首先要了解oracle的权限分类系统权限oracle中有很多系统权限(12c中有256个),这...原创 2021-02-08 11:30:05 · 604 阅读 · 0 评论 -
【OBJ】角色ROLE
目录定义CREATE ROLENOT IDENTIFIEDIDENTIFIEDBY passwordUSING packageEXTERNALLYGLOBALLYCONTAINER注意:小结ALTER ROLEDROP ROLE定义oracle中的role可以算是系统权限和对象权限的一个集合,将系统权限和对象权限打包成一个角色CREATE ROLE使用 CREATE ROLE 语句创建角色,角色是一组可以授予用户或其他角色...原创 2021-02-08 11:04:26 · 743 阅读 · 2 评论 -
【OBJ】用户USER
目录定义CREATE USER 用户创建ALTER USER 用户修改用户锁定用户解锁DROP USER 用户删除管理用户和角色用户syssystem角色sysdbasysoper关于特殊用户定义user属于数据库中的Nonschema Objects,主要是用于身份验证、权限分配的标识,在数据库连接和操作时通过用户进行身份和权限的验证CREATE USER 用户创建此操作需要create user系统权限,一般由sy...原创 2021-02-07 17:21:25 · 575 阅读 · 1 评论 -
【DDL】统计收集ANALYZE
目录定义schemaTABLE table分析表受以下限制partition_extension_clauseINDEX index对分析索引的限制CLUSTER clustervalidation_clausesVALIDATE REF UPDATE ClauseSET DANGLING TO NULLVALIDATE STRUCTURECASCADEONLINE | OFFLINERestriction on ONLINEINTO...原创 2021-02-05 12:45:20 · 354 阅读 · 0 评论 -
【DDL】CREATE... 、ALTER...、DROP...语句
目录CREATE...ALTER ...CREATE...create命令可以创建数据库的所有对象,包括schemas objects和nonschemas objects所有命令如下: CREATE ANALYTIC VIEW 创建统计视图 CREATE ATTRIBUTE DIMENSION 创建属性纬度 CREATE AUDIT POLICY (Unified Auditing)...原创 2021-02-05 09:18:25 · 454 阅读 · 0 评论 -
【DDL】数据库定义语言DDL
目录定义DDL语句定义数据定义语言 (DDL) 语句允许您执行以下任务:创建、更改和删除架构对象 (CREATE、ALTER、DROP、PURGE、RENAME、TRUNCATE)授予和撤销特权和角色 (GRANT、REVOKE)分析表、索引或群集上的信息 (ANLYZE)建立审核选项 (AUDIT、NOAUDIT)向数据字典添加注释(COMMENT)CREATE、ALTER和DROP命令要求对指定对象进行独占访问。例如,如果其他用户在指定的表上具有打开的事务,...原创 2021-02-05 09:17:12 · 303 阅读 · 1 评论 -
【SQL】序列SEQUENCE
目录定义创建序列create sequenceschemasequenceSHARINGINCREMENT BYSTART WITHMAXVALUENOMAXVALUEMINVALUENOMINVALUECYCLENOCYCLECACHENOCACHEORDERNOORDERKEEPNOKEEPSCALENOSCALESHARDSESSIONGLOBAL创建一个序列序列的使用作为主键使用作为...原创 2021-02-03 14:34:17 · 3449 阅读 · 0 评论 -
【SQL】DML操作
目录定义SELECTINSERT依次赋值指定列赋值默认值多行插入with check option操作UPDATEDELETEMERGELOCK TABLE参数说明EXPLAIN PLAN参数说明CALL定义数据库操作语言, 用来访问和操作现有用户对象中的数据,这些语句不会隐式提交事务Data manipulation language (DML) statements access and manipulate data i...原创 2021-02-02 10:25:43 · 692 阅读 · 0 评论 -
【SQL】绑定变量bind variables
目录定义硬解析软解析再看硬解析统计绑定变量的使用使用var声明变量替换变量&每次都需要重新定义变量&&在同一会话中仅需赋一次变量definecursor_sharing参数exactsimilarfcorce定义绑定变量指的是在sql语句中的条件使用变量而不是常量例如如下条sql select empno,ename,sal from emp where empno=7788;select empn...原创 2021-01-29 15:20:35 · 2223 阅读 · 0 评论 -
【SQL】全局临时表 GLOBAL TEMPORARY TABLE
定义临时表是用来保留临时或者中间数据的表,属于数据哭对象,有对应编号它可以像普通表一样使用,并为每个会话提供专有数据,会话之间不受影响临时表的数据会在会话完成或事物结束时自动清除数据它存在于temp表空间内并不占用用户表空间对于临时表的操作,不生成日志和回滚数据,没有锁,不备份,不维护on commit delete rows 事务级临时表在用户提交(commit)时清除数据,也叫事务级临时表由sys用户创建全局临时表 SQL> cre...原创 2021-01-28 09:49:13 · 3803 阅读 · 0 评论 -
【SQL】视图VIEW
目录定义创建语法测试方法一 多表关联查询方法二 创建中间表来使查询简化方法三 创建视图创建视图视图修改with read only子句with check option子句基表不能通过视图增、删、改的情况组函数group by子句distinct关键字字段表达式没有null null列删除视图定义视图中不存放数据,他只是一个定义(物化视图除外)踏实经过制定的方式来显示一个或多个表的数据视图所依据的表被称为基表...原创 2021-01-27 13:59:21 · 597 阅读 · 0 评论 -
【SQL】不可用SET UNUSED
描述当一张表的字段不在需要的时候可以使用alter table TABLE_NAME drop column COLUMN_NAME;或alter table TABLE_NAME drop(COLUMN1,COLUMN2);来删除多个列,但是不能删除一个表的所有列和sys表下的列然而当使用drop column的时候如果表中有大量数据,删除过程中会锁定表,并消耗大量时间,这个时候可以先将该列置为不可用(UNSUED)alter table TABLE_NAME set unused(...原创 2021-01-26 11:23:15 · 341 阅读 · 0 评论 -
【SQL】不可见索引INVISIBLE index
定义不可见索引可以被oracle优化器所忽略,受system或者session级别的OPTIMIZER_USE_INVISIBLE_INDEXES 参数影响,若该参数为false则默认不识别不可见索引,true则反之Use this clause to specify whether the index is visible or invisible to the optimizer. An invisible index is maintained by DML operations, bu...原创 2021-01-25 09:50:13 · 373 阅读 · 0 评论 -
【SQL】单行函数
目录字符处理函数字符串大小写处理函数lower(char)upper(char)initcap(char)concat(char1,char2)substr(char,x,[y])length(char)instr(char1,char2,[x],[y])字符串处理函数补充字符串lpad(char1,x,char2)rpad(char1,x,char2)trim(leading|trailing|both char1 from char2)r...原创 2021-01-22 14:19:51 · 419 阅读 · 0 评论 -
【SQL】外部表 External Table
目录定义外部表的创建目录对象创建并赋权使用DATAPUMP创建使用ORACLE_LOADER创建外部表并导入数据定义External tables access data in external sources as if it were in a table in the database.You can connect to the database and create metadata for the external table using DDL.The...原创 2021-01-17 16:43:02 · 1204 阅读 · 0 评论 -
【SQL】同义词 SYNONYM
目录定义创建同义词 CREATE SYNONYM私有同义词公有同义词删除同义词DROP SYNONYM定义同义词可以是任意表、视图、序列等对象的别名Use the CREATE SYNONYM statement to create a synonym, which is an alternative name for a table, view, sequence, operator, procedure, stored function, package, mate...原创 2021-01-16 22:09:28 · 1697 阅读 · 1 评论 -
【SQL】集合运算 The Set Operators
目录定义联合运算UNIONUNION ALL交集运算INTERSECT差集运算MINUS定义集合运算符包括UNION、UNION ALL、INTERSECT、MINUS所有集合运算符的优先级都相等如果一条SQL语句中包含多个set运算符,那oracle将从左到右进行求值(除非括号里指定了其他顺序)联合运算测试数据准备 tb_set01 tb_set02 SQL> create table tb_set01 as selec...原创 2021-01-14 12:31:25 · 304 阅读 · 0 评论 -
【SQL】日期函数
目录数据类型DATE和TIMESTAMPDATETIMESTAMPTIMESTAMPTIMESTAMP with time zoneTIMESTAMP with local time zoneTZ_OFFSETCURRENT_DATECURRENT_TIMESTAMPLOCALTIMESTAMPDBTIMEZONESESSIONTIMEZONEextractTO_TIMESTAMPTO_TIMESTAMP_TZInterval Expre...原创 2021-01-13 17:21:05 · 380 阅读 · 0 评论 -
【SQL】子查询 Sub Query
目录定义SELECT中的子查询FROM中的子查询HAVING中的子查询INSERT中的子查询UPDATE中的子查询DELETE语句中的子查询多行子查询INALLANY规则定义子查询(Sub Query)又叫(Inner Query),嵌套查询(Nested Query),是哟中嵌套在其他SQL查询的WEHERE子句中的查询,用于为主查询返回其所需要的数据,或对检索数据进行进一步限制。子查询可以应用在FROM、WHERE、HAVING子句中,也...原创 2021-01-12 13:48:37 · 599 阅读 · 0 评论 -
【SQL】常用函数AVG、SUM、MAX、MIN、COUNT
目录常用函数说明:测试AVG平均值SUM总计值MAX最大值MIN最小值COUNT(*)总数NVL空值转换GROUP BY创建数据组ORDER BY排序HAVING子句SQL语句的编译顺序函数嵌套特例常用函数说明:AVG([distinct|all] XXX):意思是计算XXX的平均值SUM([distinct|all] XXX):意思是计算XXX的总计值MAX([distinct|all] XXX):意思是计算XXX的最...原创 2021-01-11 15:25:05 · 4610 阅读 · 2 评论 -
【SQL】索引 INDEX
目录索引提示1、创建索引索引的优缺点2、修改索引导致索引失效的原因基于函数的索引删除索引索引提示1.在表中定义主键约束或者唯一性约束的时候,Oracle 会自动创建该字段上的索引2.用户也可自定义某些字段的索引3.索引创建完成有数据库自动使用,不需要特别指定1、创建索引创建空测试表tb_ind01,并添加主键 SQL> show userUSER is "SCOTT"SQL> create table tb_in...原创 2021-01-07 15:40:48 · 1353 阅读 · 0 评论 -
【SQL】约束constraint
1.约束的类型 提示: 1、 not null:表示指定的列不能有空值2、 unique:表示指定的列的值或者列的组合的值对于表中的行数据而言必须是唯一的3、 primary key:表示表中每条数据的唯一性标识(满足非空唯一性)4、foreign key:表示在列与引用表的列之间建立的一种强制外键关系;5、check:表示指定一个必须为真条件注意:1.约束的命名,可以自己定义,也可默认按照 Oracle 指定的格式命名(SYS_XXXX)2. not null 约...原创 2021-01-05 12:52:27 · 811 阅读 · 0 评论 -
【SQL】连接 JOIN
概述Oracle中表之间的连接(JOIN)有很多种,当然也不仅限于表与表,还可以表与视图、物化视图等联结,以下是官方解释A join is a query that combines rows from two or more tables, views, or materialized views. Oracle Database performs a join whenever multiple tables appear in the FROM clause of the quer...原创 2021-01-07 10:30:11 · 199 阅读 · 0 评论