1、创建表:CREATE TABLE TEST_STUDENT AS SELECT * FROM CPMS_TEMPLATE_DEPT CTD;
2、unoin 和union all的区别:前者会将两个结果集中重复的数据删除掉,后者不会删除重复的数据;
3、char类型最大不能超过2000,varchar的长度不能超过4000;
4、 SELECT LPAD('hello', 10, 'o') FROM DUAL向左补全; SELECT INITCAP('like') FROM DUAL单词首字母大写;
SELECT RPAD('hello' , 10, 'o') FROM DUAL向右补全;SELECT LENGTH('like') FROM DUAL查询字母的长度;
SELECT SUBSTR('123456', 1, 4) FROM DUAL截取字符串;SELECT INSTR('123456','3456') FROM DUAL查字符串的位置
5、count 的用法:
(1)根据某一列,计算那一列有值的记录有几条;
SELECT COUNT(ABI.USE_DEPT) AS D , COUNT(ABI.PRICE) AS T FROM ASSET_BASIC_INFO ABI
(2)查询所有记录的条数;
SELECT COUNT(*) FROM ASSET_BASIC_INFO ABI 等同于SELECT COUNT(1) FROM ASSET_BASIC_INFO ABI
6 where条件先于order by执行
7rownum与比较符“=”
如果用rownum=n作为过滤条件,n>1时,返回的结果为空。同样rownum>n,n>1时也是一样的。
8数据库中的加减乘除运算如果有null,结果值也会返回为null.
9SELECT TS.TEMPLATE_DEPT_ID, RANK() OVER(ORDER BY TS.TEMPLATE_DEPT_ID) FROM TEST_STUDENT TS
rank()排序具有跳跃性,(1, 2,2, 4, 4);dense_rank()排序不具有跳跃性。
SELECT TS.TEMPLATE_DEPT_ID, AVG(TS.DEPT_ID) OVER(PARTITION BY TS.TEMPLATE_DEPT_ID) FROM TEST_STUDENT TS :partition by 分组排序P255