data base——oracle
哎呦丨这条平凡的狗
也许年轻的心扉本来就叫寂寞,也许青春的世界里本来就流动着许多过错,而生命里偶有的悲剧也会像涨上来的潮水,一片一片将你淹没。
展开
-
Oracle数据库知识——decode() 详解
语法:decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)语法解析:IF 条件=值1 THEN RETURN(返回值1)ELSIF 条件=值2 THEN RETURN(返回值2) ......ELSIF 条件=值n THEN RETURN(返回值n)ELSE RETURN(缺省值)END IFdecode函数等...原创 2019-11-11 15:58:12 · 1325 阅读 · 0 评论 -
Oracle数据库知识——decode( ) (力扣实例)
语法:decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)语法解析:IF 条件=值1 THEN RETURN(返回值1)ELSIF 条件=值2 THEN RETURN(返回值2) ......ELSIF 条件=值n THEN RETURN(返回值n)ELSE RETURN(缺省值)END IF(decode(...原创 2019-11-11 11:33:02 · 225 阅读 · 0 评论 -
Oracle数据库知识——nvl()函数 (换座位)
oracle中取余是用函数mod(m,n),其中m和n都是数字,该函数的的规则是:返回m/n的余数,如果 n 为0,则返回 mcase when then else end 使用场景: 1.对已知的数据进行逻辑分组或者进行数据分析 ...原创 2019-11-08 17:24:46 · 422 阅读 · 0 评论 -
Oracle数据库知识——lag() over()、lead() over()函数
lag() over() 与lead() over() 函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行数据过滤。这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。 over()表示 lag()与lead()操作的数据都在over()的范围内...原创 2019-11-07 16:32:27 · 4948 阅读 · 1 评论 -
Oracle数据库知识——rank() over()、dense_rank() over(),row_number() over() 函数对比
rank() over():查出指定条件后的进行排名。特点是,加入是对学生排名,使用这个函数,成绩相同的两名是并列,下一位同学空出所占的名次。举例:select name,subject,score,rank() over(partition by subject order by score desc)rank from student_score;dens...原创 2019-11-07 15:58:03 · 448 阅读 · 0 评论 -
Oracle数据库知识——row_number() over() 函数
基本语法:ROW_NUMBER() OVER(PARTITION BY COL1ORDER BY COL2)语法详解:表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)简单的说,row_number()从1开始,为每条分组纪录返回一个数字,这里的ROW_NUMBER() OVER(PARTITION BY COL...原创 2019-11-05 14:17:19 · 590 阅读 · 0 评论 -
查找第二高的薪水
题目:编写一个 SQL 查询,获取Employee表中第二高的薪水(Salary)+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+例如上述Employee表,SQL查询应该返回200作为第二高的薪水。如果不存在第二高的...原创 2019-11-05 11:43:25 · 255 阅读 · 0 评论 -
Oracle数据库知识——存储过程篇
一、存储过程是什么?存储过程(Stored Procedure )是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。存储过程是由流控制和SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调...原创 2019-06-12 16:01:38 · 1654 阅读 · 0 评论 -
Oracle数据库知识——视图篇
一、什么是视图? oracle视图可以理解为数据库中一张虚拟的表,它是通过一张或者多张基表进行关联查询后组成一个虚拟的逻辑表。查询视图,本质上是对表进行关联查询。 视图的本身是不包含任何数据,只是一个查询结果,当基表的数据发生变化时,视图里面的数据也会跟着发生变化。我们经常在实际开发过程中遇到的视图可以大概分为三种:单表视图、多表关联视图、视图中含有子视图。二、视图...原创 2019-05-23 17:18:31 · 1045 阅读 · 0 评论 -
Oracle数据库知识——序列篇
一、序列定义:序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。不占用磁盘空间,占用内存。其主要用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。我们都知道,开发过程中有时候需要数据库中的主键是数字类型并且自增,mysql、sql server中都可以使用工具创建表的时候实现,但是oracl...原创 2019-05-16 10:33:28 · 463 阅读 · 0 评论 -
Oracle数据库知识——触发器篇
一、触发器简介触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。然后,触发器的触发条件其实在你定义的时候就已经设定好了。这里面需要说明一下,触发器可以分为语句级触发器和行级触发器。详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发。而行级触发器则是在定义的了触发的表中的行数据改...原创 2019-05-15 15:53:04 · 18750 阅读 · 1 评论 -
最常用SQL语句----提升与总结
SQL的执行顺序为:先where再group再having再select后order.sql语句解析的顺序的问题:先where条件过滤出需要的纪录,再对筛选出来的记录分组group加having。接下来就是选取字段的过滤select最后order排序。所以别名只有在select和orderby内才可以只用表名和字段–1.学生表Student(s_id,s_name...原创 2019-04-28 17:10:37 · 375 阅读 · 0 评论 -
查询人数最多的部门及各部门男女人数
首先是建表语句:spool employee.logpromptprompt Creating table EMPLOYEEprompt =======================promptcreate table JCXT.EMPLOYEE( id VARCHAR2(20), name VARCHAR2(20), sex VARCHAR2(20), ...原创 2019-04-12 14:27:02 · 6559 阅读 · 0 评论 -
行转列、列转行
-- 建表CREATE TABLE StudentScores( UserName NVARCHAR(20), -- 学生姓名 Subject NVARCHAR(30), -- 科目 Score FLOAT -- 成绩)-- 添加数据INSERT ...原创 2019-04-12 13:51:19 · 1071 阅读 · 0 评论