1. ALL和ANY的比较
any的例子:
select * from t_hq_ryxx wheregongz > any (select pingjgz from t_hq_bm);
输出的结果是所有大于字段'pingjgz'中最小数的值,简单来说就是输出的数全部大于'pingjgz'字段中的最小值;
select * from t_hq_ryxx wheregongz < all (select pingjgz from t_hq_bm);
输出的结果是所有小于字段'pingjgz'中最大数的值,简单来说就是输出的数全部小于'pingjgz'字段中的最大值;
即:大于最小值,小于最大值
any 就是匹配集合中的任意一个就满足条件了;而 all 要跟所有的都比较,所有都满足以后才为真。
2. alter(修改表结构)
1.TABLE (表名) ADD (列名 数据类型);
2.TABLE (表名) MODIFY (列名 数据类型);
3.TABLE (表名) RENAME COLUMN (当前列名) TO (新列名); /////不需要括号
4.TABLE (表名) DROP COLUMN (列名);
5.TABLE (当前表名) RENAME TO (新表名);
3.AND、OR
oracle中where中有and和or同时存在,and优先级高于or
4.MERGE语句
MERGE INTO table_nametable_alias USING (table|view|sub_query) alias ON (join condition) WHEN MATCHEDTHEN UPDATE SET col1 = col_val1, col2 = col2_val WHEN NOT MATCHED THEN INSERT(column_list) VALUES (column_values);
举例:
MERGE INTO copy_emp cUSING employees e ON (c.employee_id = e.employee_id) WHEN MATCHED THEN UPDATESET c.first_name = e.first_name, c.last_name = e.last_name, ... c.department_id= e.department_id WHEN NOT MATCHED THEN INSERT VALUES(e.employee_id,e.first_name, e.last_name, e.email, e.phone_number, e.hire_date, e.job_id,e.salary, e.commission_pct, e.manager_id, e.department_id);
5.connect
常用于start with ... connectby prior
递归查询中
6.distinct
去除重复数据
7.having
常用于聚合函数用来替代where
8.like
like常用于模糊查询, 后面常接通配符,可使用% 或者_ 作为通配符: % 代表 0个或者多个 字符. _ 代表一个单个字符.
9. Union,intersect,minus(集合的处理)
Union 可以对多个查询结果进行连接并且去重
Union all 在union的基础上不去重
Intersect可以求多个结果的交集
Minus可以求多个结果的差集
10. 常用函数
Mode()取余数
Avg() 求平均数
sum() 求总数可以在sum中加条件判断
例如:sum(case when 条件then
When 条件then … end)
count() 求总数
decode(a,b,c,d)如果a=b,返回c,否则返回d
nvl(a,b)如果a=null 则返回b,否则返回a
nvl2(a,b,c)如果a=null,返回c,否则返回b
round()四舍五入
Trunc()按照数字位数截取(对数字进行操作)
例如:trunc(23.23,1) = 23.2 截取小数点后一位
Trunc(234.2,-2) = 200截取小数点前两位
Trunc()按照日期格式截取
trunc(sysdate,'yyyy');//返回当前年的第一天
trunc(sysdate, 'mm');//返回当前月的第一天
trunc(sysdate, 'dd');//返回当前时间的年月日
trunc(sysdate, 'd');//返回当前星期的第一天
trunc(sysdate, 'hh');//返回当前小时
11. Not,is,in,not in,=,<,>,exists
通常用于where字句中做条件判断
12.with
例子:
With
名字(相当于一张表)as
Select 列名
Where 条件
Select * from 名字(引用with定义的表名)
附录:
A ALL,ALTER,AND,ANY,AS,ASC,AT
BBEGIN,BETWEEN,BY
CCASE,CHECK,CLUSTERS,CLUSTER,COLAUTH,COLUMNS,COMPRESS,CONNECT,CRASH,CREATE,CURSOR
DDECLARE,DEFAULT,DESC,DISINCT,DROP
EELSE,END,EXCEPTION,EXCLUSIVE
FFETCH,FOR,FROM,FUNCTION
GGOTO,GRANT,GROUP
HHAVING
LLIKE,LOCK
IIDENTIFIED,IF,IN,INDEX,INDEXES,INSERT,INTERSECT,INTO,IS
MMINUS,MODE
NNOCOMPRESS,NOT,NOWAIT,NULL
OOF,ON,OPTION,OR,ORDER,OVERLAPS
PPRSOURCE,PUBLIC
RRESOURCE,REVOKE
SSELECT,SHARE,SIZE,SQL,START,SUBTYPE
TTABAUTH,TABLE,THEN,TO,TYPE
UUNION,UNIQUE,UPDATE
VVALUES,VIEW,VIEWS
WWHEN,WHERE,WITH
