1、merge
源表中存在的数据,若目标表中不存在该数据则进行插入,若目标表中存在该数据则进行修改,等于update+insert,但执行效率比update+insert高
例:
MERGE INTO table1 t USING (SELECT ? USER FROM table2) m ON (m.USER = t.USER)
WHEN MATCHED THEN UPDATE SET t.state = ?,t.msg = ?,t.addtime = SYSDATE,t.id = ?
WHEN NOT MATCHED THEN INSERT(ID,USER,STATE,MSG,ADDTIME) VALUES(?,?,?,?,SYSDATE);
2、in
值是否被包含于结果集,
例:若name是后者之一则查询出该条数据
select * from table where name in ('judy','nick','Benjamin','Flash');
3、minus
得到结果集1后,减去结果集2中与1相同的结果,再返回
例:
SELECT KEY TYPE FROM table1 MINUS SELECT TYPE FROM table2 WHERE name=?
4、union
取结果集1与结果集2的并集然后返回
例:
select * from table1 where name='judy' union
select * from table1 where age=18
5、to_date
格式化日期,Oracle中不分大小写,所以若时分秒这样写HH:mm:ss会将分识别为月份,Oracle中分用mi表示,若需要转为24小时制,时用HH24表示
例:
select to_date('2017-07-27 13:14:20','yyyy-MM-dd HH24:mi:ss') from table