Oracle - 关系数据库管理系统

发布时间 2023-07-22 15:25:04作者: 济南市第一暖男

常见语法

1、with as 短语,抽取公用数据

with A_table as
 (select 'feiqs' name, 18 age FROM dual),
B_table as
 (select 'feiqs' name, 29 age FROM dual)
select * from A_table,B_table

2、rowid 数据唯一标识,该值表明了该行在数据库中的物理具体位置

select rowid from st_protocol

3、rownum 查询序号列,用于分页、关联不相干的表

SELECT A.*, B.*
FROM 
  (SELECT S.*, ROWNUM RN FROM STUDENT S) A
  FULL JOIN 
  (SELECT C.*, ROWNUM RN FROM COURSE C) B
ON A.RN = B.RN;

4、union 和 union all

union all 只是合并查询结果,并不会进行去重和排序操作,在没有去重的前提下,使用 union all 的执行效率要高。

5、inner join、left join、right join、 连接查询

inner join 返回匹配条件成立的所有行。
left join 将会保留左边表中的全部记录,而右表没有的部分用 NULL 表示。 

6、full join、笛卡尔积查询

full join 左连接和右连接查询的结果并集,进行去重后的结果。
select ... from A,B 为笛卡尔积查询

常见函数

1、to_date() 字符串转日期

select to_date('20050101','yyyy-MM-dd') today from dual

2、to_char() 将数值或日期型转化为字符

select to_char(12345678,'999,999,999,999')  from dual;
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;

3、replace() 函数用于替换字符串

replace(原字段,旧内容,新内容)

4、sys_guid() 生产 uuid

select sys_guid() from dual

5、nvl() 函数

nvl(expr1,expr2) 如果第一个参数为空那么显示第二个参数的值。

6、count、max、min、sum、avg

数量统计,最大值,最小值,合计值,平均值