Oracle学习笔记
1.order by分组
ASC:升序
DESC:降序
默认ASC。
如果有null,可以设置null值的位置,前面:
select 字段 from 表名order by 字段 nulls first;
后面:
select 字段 from 表名order by 字段 nulls last;
2.distinct
null也会作为一个结果。
3.between
between 10 and 20
等效于:a>=10 and a<=20
4.fetch字句
OFFSET 子句指定在行限制开始之前要跳过行数。OFFSET 子句是可选的。 如果跳过它,则偏移量为 0,行限制从第一行开始计算。
偏移量必须是一个数字或一个表达式,其值为一个数字。偏移量遵守以下规则:
如果偏移量是负值,则将其视为 0。
如果偏移量为 NULL 或大于查询返回的行数,则不返回任何行。
如果偏移量包含一个分数,则分数部分被截断。
FETCH 子句指定要返回的行数或百分比。
效果相同:
FETCH NEXT 1 ROWS
FETCH FIRST 1 ROW
仅返回 FETCH NEXT (或 FIRST) 后的行数或行数的百分比。
WITH TIES 返回与最后一行相同的排序键。请注意,如果使用 WITH TIES,则必须在查询中指定一个 ORDER BY 子句。如果不这样做,查询将不会返回额外的行。
示例:
select * from prppinsured fetch next 5 rows only
select * from prppinsured fetch first 5 row only
不加排序的字段,返回十行
select * from prppinsured FETCH NEXT 10 ROWS WITH TIES
加排序的字段,会增加跟最后一条排序字段值相同的数据。
select * from prppinsured order by policyno FETCH NEXT 10 ROWS WITH TIES
按百分比返回:
FETCH FIRST 1 PERCENT ROWS ONLY
跳过前几行返回:
offset 2 rows fetch next 1 rows only
5.like
%(百分号)匹配零个或多个字符的任何字符串。
_(下划线)匹配任何单个字符。
6.事务:
原子性(Atomicity):一个事务里面所有包含的SQL语句都是一个整体,是不可分割的,要么不做,要么都做。
一致性(Consistency):事务开始时,数据库中的数据是一致的,事务结束时,数据库的数据也应该是一致的。
隔离性(Isolation):数据库允许多个并发事务同时对其中的数据进行读写和修改的能力,隔离性可以防止事务在并发执行时,由于他们的操作命令交叉执行而导致的数据不一致状态。
持久性 (Durability) : 当事务结束后,它对数据库中的影响是永久的,即便系统遇到故障的情况下,数据也不会丢失。
一组SQL语句操作要成为事务,数据库管理系统必须保证这组操作的原子性(Atomicity)、一致性(consistency)、隔离性(Isolation)和持久性(Durability),这就是ACID特性。
7.concat
使用2个额外的单引号来表示生成的连接字符串中的单引号:
SELECT CONCAT('Let''s', ' learn Oracle')
FROM dual;
8.Initcap
将单词首字母大写,其余字母小写
select initcap('WJG') from dual