oracle-sql基础2

1、通过将子查询用作源来检索数据

在这里插入图片描述

select * from departments
select * from locations
select * from countries
select * from regions
select DEPARTMENT_NAME,city from departments natural join (select l.LOCATION_ID,l.CITY,l.COUNTRY_ID from locations l join countries c on l.COUNTRY_ID=c.COUNTRY_ID
                                         join regions using(REGION_ID) where REGION_NAME='Europe');
select DEPARTMENT_NAME,city from departments natural join (select l.LOCATION_ID,l.CITY,l.COUNTRY_ID from locations l join countries c on l.COUNTRY_ID=c.COUNTRY_ID
                                         join regions r on c.REGION_ID=r.REGION_ID where REGION_NAME='Europe')

2、跟踪一段时间内的数据更改
闪回版本查询示例
在这里插入图片描述

create table employees3 as select * from employees
select salary  from employees3 where EMPLOYEE_ID=107
update employees3 set salary =salary*1.30 
where EMPLOYEE_ID=107;
select salary  from employees3 versions between scn minvalue and maxvalue 
where EMPLOYEE_ID=107;

TIMESTAMP 数据类型
在这里插入图片描述
TIMESTAMP 字段
在这里插入图片描述

DATE 和TIMESTAMP 之间的区别

在这里插入图片描述

1、使用相关UPDATE

在这里插入图片描述
在这里插入图片描述

select * from employees
select DEPARTMENT_NAME from departments
create table emp16 as select * from employees
commit
alter table emp16 add (DEPARTMENT_NAME varchar2(30))
select * from emp16
update emp16 e set DEPARTMENT_NAME=
(select DEPARTMENT_NAME from departments d where e.DEPARTMENT_ID=d.DEPARTMENT_ID );

相关DELETE

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

正则表达式支持功能

在这里插入图片描述
一、正则表达式简介
正则表达式,就是以某种模式来匹配一类字符串。例如,判断匹配性,进行字符串的重新组合等。正则表达式提供了字符串处理的快捷方式。Oracle 10g及以后的版本中也支持正则表达式。
二、正则表达式相对通配符的优势
1、正则表达式中不仅存在着代表模糊字符的特殊字符,而且存在着量词等修饰字符,使得模式的控制更加灵活和强大。
2、通配符的使用一般是在特定的环境下,不同的环境下,通配符有可能不同。而正则表达式,不但广泛应用于各种编程语言,而且在各种编程语言中,保持了语法的高度一致性。
三、元字符
元字符是指在正则表达式中表示特殊含义的字符。
四、量词
量词用来指定量词的前一个字符出现的次数。量词的形式主要有“?”、“*”、“+”、“{}”。
五、字符转义:
元字符在正则表达式中有特殊含义。如果需要使用其原义,则需要用到字符转义。字符转义使用字符“\”来实现。其语法模式为:“\”+元字符。例如,“.”表示普通字符“.”; “.doc”匹配字符串“.doc”;而普通字符“\”需要使用“\”来表示。
六、字符组.
字符组是指将模式中的某些部分作为一个整体。这样,量词可以来修饰字符组,从而提高正则表达式的灵活性。字符组通过()来实现。
许多编程语言中,可以利用“1”、“2”等来获取第一个、第二个字符组,即所谓的后向引用。在Oracle中,引用格式为“\1”、“\2”。
七、正则表达式分支
可以利用“|”来创建多个正则表达式分支。例如,“\d{4}|\w{4}”可以看做两个正则表达式“\d{4}”和“\w{4}”,匹配其中任何一个正则表达式的字符串都被认为匹配整个正则表达式。如果该字符串两个正则表达式分支都匹配,那么将被处理为匹配第一个正则表达式分支。
八、字符类.
在Oracle中,正则表达式的用法与标准用法略有不同。这种不同主要体现在对于字符类的定义上。Orale中不使用字符“\”与普通字符组合的形式来实现字符类,而是具有其特殊语法.
在这里插入图片描述

十、正则表达式练习

1、查找员工编号为6位字母的员工信息
select empno,ename,sal,hiredate from emp;

select empno,ename from emp where regexp_like(empno,'^[[:digit:]]{4}');
select * from emp where regexp_like(ename,'^[[:alpha:]]{6}');

2、查找员工姓名为全英文的员工信息
在这里插入图片描述

select * from emp where regexp_like(ename,'^[[:alpha:]]');

在这里插入图片描述
3、查找员工姓名以“a”字母开头,不区分大小写
在这里插入图片描述
select * from emp where regexp_like (ename,’^a’,‘i’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

貔貅526

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值