Oracle
文章平均质量分 72
沫沫妞 哟
安安静静的 学习编程...
展开
-
Oracle 日期减法
--Oracle中两个日期计算相差的天数select TO_NUMBER(TO_DATE('2018-6-5','yyyy-mm-dd hh24:mi:ss') - TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss'))AS 相差天数from dual;--Oracle中两个日期计算相差的小时数select TO_NUMBER(...原创 2019-05-22 15:01:13 · 2890 阅读 · 0 评论 -
SQL查询效率提高方法
关于SQL查询效率,100w数据,查询只要1秒 1.关于SQL查询效率,100w数据,查询只要1秒,与您分享: 机器情况 p4: 2.4 内存: 1 G os: windows 2003 数据库: ms sql server 2000 目的: 查询性能测试,比较两种查询的性能SQL查询效率 step by step– setp 1. – 建表 create table t...原创 2018-08-25 11:05:34 · 633 阅读 · 1 评论 -
Oracle 里的 分析函数
分析函数例子及讲解 SELECT emp.ename, emp.sal, emp.mgr, row_number() over(PARTITION BY emp.mgr ORDER BY emp.sal DESC) row_number_dept, –部门排行 rownum row_number, –行号 ceil(rownum ...原创 2018-08-25 11:01:09 · 176 阅读 · 0 评论 -
Oracle与DB2的对应关系
1,Oracle与DB2的对应关系 1)日期型数据转化 Oracle的数据类型中只有一种日期型,即Date型,占用固定长度; DB2的数据类型中有三种日期型,即Date型,time型,timestamp型,在使用工具进行移植时,系统将Oracle的Date对应到timestamp。 序号 项目 Oracle中的格式 DB2中的格式 备注 1 日期型转化为字符型 To...原创 2018-08-22 10:47:09 · 1422 阅读 · 0 评论 -
Oracle中exit和break和continue之间的区别
begin for my_cu in (select ename from emp where deptno=10)loop for my in (select ename,deptno from emp where deptno=10) loop dbms_output.put_line(my_cu.ename); dbms...原创 2018-08-22 10:46:20 · 12588 阅读 · 0 评论 -
第三章 索引和表空间
四、索引 1.概念:索引类似书的目录结构[如果没有目录,我们要想在书中查找指定的内容前 必须阅读全文,而有了目录之后,只需要通过目录就可以快速找到包含所需内容的页码(相当于ROWID)。],而创建索引就是对特定的列进行排序,生成独立索引表,提高SQL查询语句的速度。oracle创建主键时会自动在该列上创建索引 2.创建索引语法: Create 属性[唯一索引:unique 普通索引:nor...原创 2018-07-29 13:24:29 · 893 阅读 · 0 评论 -
第二章 错误点练习和答案
1、外键约束创建的时候遇到问题以及相关的解决办法(要求有错误截图)问题:emp表中deptno设置了外键约束,当dept表中没有50部门时,往emp表插入deptno=50的一组数据,会报如上错误。 解决办法: 先往dept表中插入部门编号为50的数据 insert into dept values(50,’CLECK’,’BEIJING’); 然后再在emp表中插入数据 inser...原创 2018-07-28 13:04:47 · 174 阅读 · 0 评论 -
第二章 表结构查询和查询练习讲解答案
/*(1)查询员工薪水以及员工姓名,然后判断, 如果薪水小于1000,显示“薪水低”, 如果1000到2000,显示“中等”, 如果大于2000,显示“薪水不错”。*/select empname 员工姓名,’薪水低’ 工资情况,sal from emp2 where sal <1000 union select empname 员工姓名,’薪水中等’ 工资情况,sal ...原创 2018-07-28 13:03:41 · 577 阅读 · 0 评论 -
第三章 同义词、视图、序列的练习和答案
一、 1、登陆scott 用户基于 EMP 表和 DEPT 表创建视图 EMPDEPTVIEW,要求关联两张表,查出员工的所在部门, 及部门的信息,包括部门的名称和部门所在地 ,员工的部门编号和员工的名字; 2、登录xiaomei用户,针对EMPDEPTVIEW 创建同义词epv; 3、通过同义词,查询到部门20的所有员工信息。二、 1、创建序列,从50开始...原创 2018-07-28 13:02:17 · 925 阅读 · 0 评论 -
oracle怎么用命令向建好的表中插入一列并使它成为第一列?
oracle怎么用命令向建好的表中插入一列并使它成为第一列?请说详细点,最好举例说明。 分享| 2012-05-11 14:53li597600208man | 浏览 1686 次 2012-05-11 17:14 提问者采纳 分为两步来实现,首先插入数据,假设表T,有字段col1,col2,col3,需要向前200行的col2插入行数+1的值,并...转载 2018-08-25 11:07:36 · 7739 阅读 · 0 评论 -
Oracle函数大全
SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(’A’) A,ascii(’a’) a,ascii(’0’) zero,ascii(’ ’) space from dual; A A ZERO SPACE 65 97 48 32 2.CHR 给出整数,返回对应的字符; SQL> select...翻译 2018-08-25 11:17:28 · 5004 阅读 · 0 评论 -
第四章 存储过程 难题 ,烧脑哦........
创建一个存储过程,输入一个带若干逗号的字符串,输出用逗号分隔的字符串信息方式一:create or replace procedure pro_getchar(v_char in varchar2) is n number;–逗号个数 i number:=1;–为了求出逗号个数而设置的循环变量 p1 number;–前一个逗号的位置 p2 number;–后一个逗号的位置 ...原创 2018-08-01 19:30:14 · 424 阅读 · 0 评论 -
Oracle中REGEXP_SUBSTR函数
Oracle 在11g的版本中引入了1、Oracle中REGEXP_SUBSTR函数Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下:在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','23'的集合。 REGEXP_SUBSTR函数格式如下:function REGEXP_SUBSTR(String, pattern...原创 2018-12-19 16:42:00 · 17356 阅读 · 0 评论 -
正则表达式的规则
表 1:定位元字符元字符 说明 ^ 使表达式定位至一行的开头 $ 使表达式定位至一行的末尾 表 2:量词或重复操作符 量词 说明 * 匹配 0 次或更多次 ? 匹配 0 次或 1 次 + 匹配 1 次或更多次 {m} 正好匹配 m 次 {m,} 至少匹配 m 次 {m, n} 至少匹配 m 次但不超过 n 次 表 3:预定义的 POSIX 字符类 字符类 说明 [:a...原创 2018-12-19 15:23:42 · 293 阅读 · 0 评论 -
Sql经典面试题
第一题:为管理业务培训信息,建立3个表:S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄C(C#,CN)C#,CN分别代表课程编号,课程名称SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩(1)使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?(2) 使用标准SQL嵌套语句查询选修课程编号为’C...转载 2018-10-30 18:48:06 · 891 阅读 · 0 评论 -
编程题 银行三张表的
select * from o_trace_log;–业务流水 select * from o_mdm_ac_rel;–账号与客户介质表 卡和账户的 select * from o_dd_mst;–活期存款主文件 一个账户存在多个账号,一个客户存在一个账户信息 ac_type 客户类型 1-4为对公客户,5-6为个人账户; 流水表中存放的数据信息为当日的交易流水;/*1、交易流水 ...原创 2018-09-11 11:06:06 · 1025 阅读 · 0 评论 -
银行基础知识及实训第三阶段考试题 答案
实训第三阶段考试题1、以下不属于定期存款期限的是:( D ) 三月 六月 一年 两年 三年 五年 A 三个月 B 六个月 C 十二个月 D 十八个月2、贷款账户主文件中的账户表示( C )放款还款 都是经过活期进行的 A 贷款存款账户 B 贷款放款账户 C 贷款状态信息 D 贷款还款信息3、活期账户中用于计算利息的关键字不包含( D ) ...原创 2018-09-17 15:17:00 · 776 阅读 · 0 评论 -
银行基础知识及实训第三阶段考试题
实训第三阶段考试题一、选择题1、以下不属于定期存款期限的是:( ) A 三个月 B 六个月 C 十二个月 D 十八个月2、贷款账户主文件中的账户表示( ) A 贷款存款账户 B 贷款放款账户 C 贷款状态信息 D 贷款还款信息3、活期账户中用于计算利息的关键字不包含( ) A 余额 B 利率 C 基数 D 日期 4、账户...原创 2018-09-17 11:57:26 · 300 阅读 · 0 评论 -
存储过程强化题:102-106
101:要求:写一个存储过程 usp_InsertATMUsersData, 对 userInfo 表模拟插入用户记录, 每种用户类型(ATM 取款机,营业员)各 5 条(要求使用循环) /创建表:/ create table userinfo –操作员,atm机器信息表 (userid number not null, –操作员编号,unique identifier,主键...原创 2018-08-29 21:52:26 · 605 阅读 · 0 评论 -
第三章 表空间和数据库对象(同义词、序列、视图)
数据库对象是数据库的组成部分,用 create 命令进行创建,用 alter修改,用 drop 执行删除操作。 前面已经接触过的数据库对象有表、用户等。一、同义词的概念 同义词(Synonym)是数据库对象的一个别名,Oracle 可以为表、视图、序列、过程、 函数、程序包等指定一个别名。同义词有两种类型: 私有同义词:拥有 CREATE SYNONYM 权限的用户(包括非管理员用户)...原创 2018-07-28 13:00:24 · 259 阅读 · 0 评论 -
第二章 Oracle的函数(习题+答案)
利用scott用户自带的四张表完成如下作业: 1、列出至少有一个员工的所有部门 select deptno,count(*) from emp group by deptno having count(1)>=1 2、列出薪金比SMITH高的所有员工 select * from emp where sal>(select sal from emp where ename=’...原创 2018-07-28 12:52:12 · 2380 阅读 · 0 评论 -
第二章 Oracle的 函数(聚合函数,分析函数)
聚合函数: 名称 作用 语法 avg 平均值 AVG(表达式) sum 求和 SUM(表达式) min\max 最小值、最大值 MIN(表达式)、MAX(表达式) count 数据统计 COUNT(不为空的字段) group by 分组 having 分组后的筛选 order by 一个或多个字段的 排序 默认升序排列 ASC, DESC降序 ...原创 2018-07-27 10:49:39 · 1660 阅读 · 0 评论 -
第二章 select 查询
/查看当前用户的表及部分字段信息/ select TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLE from USER_TAB_COLUMNS where TABLE_name = ‘BONUS’; /查看当前用户的表(视图??)/ S...原创 2018-07-26 16:40:48 · 208 阅读 · 0 评论 -
连接查询 作业
/1、显示所有员工的姓名ename,部门号deptno和部门名称dname。/ select emp2.empno ,emp2.empname,emp2.deptno,dept.dname from emp2 ,dept where emp2.deptno = dept.deptno ;select e.empno ,e.empname,e.deptno,d.dname from em...原创 2018-07-26 15:40:55 · 1104 阅读 · 0 评论 -
第二章 连接查询
十二.连接查询:多张表的关联关系匹配后得到的新的内容 我们主要用到的是 内连接和左外连接两种方式 内连接(inner join):从左表中取出每一条记录,去右表中与所有的记录进行匹配:匹配必须是某个条件 在左表与右表中相同 最终才会保留结果显示出来,否则就不保留结果。( inner join = join ) 等值连接: 不等连接: select 查询的列名01,02.. ...原创 2018-07-26 15:35:03 · 200 阅读 · 0 评论 -
第二章 ORACLE数据操作和查询(下)
九、关系运算(= ,< ,> …) ① 逻辑运算(AND、OR、NOT 与或非) ② 算术运算符:+、-、*、/ ③ 求余运算只能借助函数:MOD(x,y):返回 x 除以 y 的余数。y != 0 。 ④ 字符串的连接用双竖线(||)表示 十、高级查询 ① In ,表示有过,不是全部,是 或者 or的意思 成员运算 ② Not in and … != ...原创 2018-07-26 15:21:20 · 152 阅读 · 0 评论 -
第二章 作业2
一、简单查询 1、查询出EMP 表中含有几个工作岗位。(用DISTINCT 去除重复记录) select distinct job from emp; 2、找出不收取奖金或收取奖金少于100 的员工。 select * from emp where comm is null or comm < 100; 3、找出部门10中所有经理(MANAGER),部门20 中所有办事员(CLER...原创 2018-07-26 15:04:02 · 559 阅读 · 0 评论 -
第二章 ORACLE数据操作和查询(中)
五、创建表和约束 创建表:Create table 表名 表的约束要求: 1. 尽量是不能为空的列:可设置默认值,或者空值表可以另建新副表,写上关联主键 2. 不能有重复的列或值 3. 要有唯一的标识符,主键 4. 要有统一的前缀名 t开头.. 5.尽量存储同类型的数据,例如:工资表和员工表 删除表:Drop table 表名; 加表的注释:Comment on...原创 2018-07-26 15:02:29 · 128 阅读 · 0 评论 -
第二章 作业
1.在emp表中查出所有记录的姓名、部门编号、薪水,并且列名要显示为中文。(别名的设置) select ename 姓名,deptno 部门编号,sal 薪水 from emp; 2.在emp表中查询出薪水大于1500的记录(条件查询) select * from emp where SAL > 1500; 3、在emp表中查询出comm字段为空值的记录(空值) ...原创 2018-07-26 15:00:59 · 429 阅读 · 0 评论 -
第二章 ORACLE数据操作和查询(上)
数据库登录: 1.常规登录:(交互式登录) 在Windows下查找进入sqlplus后,按提示依次写入用户名和密码,enter两次就可连接成功(https://img-blog.csdn.net/20180726144445492?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjgwMDAwOA==/font/5a6L5...原创 2018-07-26 14:47:02 · 210 阅读 · 0 评论 -
第二章 插入 修改 删除
/插入/ INSERT INTO bonus(ENAME,JOB,SAL,COMM) VALUES (‘cici’,’CLECK’,10000,5000); INSERT INTO bonus(ENAME,JOB,SAL,COMM) VALUES (‘adith’,’SALEMAN’,5000,2000); INSERT INTO bonus(ENAME,JOB,SAL,COMM) ...原创 2018-07-26 16:41:41 · 186 阅读 · 0 评论 -
第二章 建表和约束
/删除表/ drop table infos; /创建表/ CREATE TABLE INFOS ( STUID VARCHAR2(7) NOT NULL , –学号 学号=‘S’+班号+2位序号 STUNAME VARCHAR2(10) NOT NULL, –姓名 GENDER VARCHAR2(2) NOT NULL,–性别 AGE NUMBER(2) NOT NULL, ...原创 2018-07-27 09:52:02 · 205 阅读 · 0 评论 -
第二章 Oracle的函数(字符函数 ,数字函数,日期函数 练习)
/ascii/ –只转一个字段数据中的第一个字符/连接/ select concat(CONCAT(e.empno,e.empname),e.job) , concat(e.empno||e.empname,e.job) , e.empno||e.empname||e.job from emp2 e/INSTR(x, str [,start] [,n]) / –返...原创 2018-07-27 10:42:35 · 633 阅读 · 0 评论 -
第二章 Oracle 的函数
十五.Oracle的函数 Oracle 数据库中主要使用两种类型的函数: ① 单行函数:对每一个函数应用在表的记录中时,只能输入一行数据作为参数,返回一个结果, 比如:MOD(x,y)返回 x 除以 y 的余数(x 和 y 可以是两个整数,也可以是表中的整数列)。 常用的单行函数有: 字符函数:对字符串varchar2操作。 数字函数:对数字number进行计算,返...原创 2018-07-27 10:36:26 · 224 阅读 · 0 评论 -
第二章 子查询(案例 + 练习)
案例 1:查询出销售部(SALES)下面的员工姓名,工作,工资。 案例分析 可以用内连。 该问题可以用联接查询实现,由于所需的结果信息都在 Emp 表中,可以先从 Dept 表中查询出销售部对应的部门号,然后根据当前部门号再到 Emp 表中查询出符合该部门的员工记录即可。从销售表中查询出的结果可以作为 Emp 表中查询的条件 SELECT ENAME,JOB,SAL FROM EMP...原创 2018-07-27 10:08:28 · 527 阅读 · 0 评论 -
第二章 伪列
十四、Oracle的伪列 ROWID: 可以显示行是如何存储的。是一个字母和数字组成的字符串的内存地址,通过找出相同记录中的最大和最小rowid来删除重复记录 {数字<大写字母<小写字母(a小-z大)} 小于最大的max(rowid): 固定格式 delete from 表t1 where t1.rowid < (select max(rowid) from 表 ...原创 2018-07-27 10:33:55 · 204 阅读 · 0 评论 -
第二章 子查询(二)
/子查询– 单行子查询、多行自查询(通过=、in区分) ,放在where后/ select * from dept where dname = ‘SALES’; select * from emp2 WHERE DEPTNO = 30; –单行 select * from emp2 WHERE DEPTNO = (select DEPTNO from dept where dname ...原创 2018-07-27 10:03:15 · 189 阅读 · 0 评论 -
第二章 子查询
十三.子查询 子查询在某 where、select、update、delete语句内部可以出现 select语句。 单行子查询:其外部查询可以使用=、>、<、>=、<=、<>等比较运算符。而内部查询返回的结果必须与外部查询条件中的字段一一对应进行匹配。 结果出来的是空字段,或者是一条记录 多行子查询:结果出来的条数不确定 Select...原创 2018-07-27 10:02:01 · 149 阅读 · 0 评论 -
第二章 in ,like , 集合运算
/in/ select * from emp2 WHERE job = ‘SALESMAN’ OR job = ‘PRESIDENT’ OR job = ‘ANALYST’ ;select * from emp2 where job in(‘SALESMAN’,’PRESIDENT’,’ANALYST’ );/not in 注意and的使用/ selec...原创 2018-07-27 09:54:27 · 148 阅读 · 0 评论 -
第一章 Oracle 用户和权限
/解锁/ alter user scott account unlock; /创建用户zhangsan/ create user zhangsan identified by password2; /修改密码/ alter user zhangsan identified by password2; /授予用户使用表空间/ grant unlimited tablespace to ...原创 2018-07-27 09:53:23 · 164 阅读 · 0 评论