前端之家收集整理的这篇文章主要介绍了
Oracle基础笔记之二,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
1、将日期格式转换成字符串格式 SELECT TO_CHAR(sysdate,'yyyy-mm-dd "" hh24:mi:ss') FROM DUAL; 2、is null SELECT * FROM a_employee3 WHERE salary is null; SELECT * FROM a_employee3 WHERE salary is not null; 3、like SELECT * FROM a_employee3 WHERE name like '_bb'; 4、 and or SELECT * FROM a_employee3 WHERE salary BETWEEN 100 AND 100000; 5、NVL( string1,replace_with)
功能:如果string1为NULL,则NVL
函数返回replace_with的值,否则返回string1的值。 注意事项:string1和replace_with必须为同一数据类型,除非
显示的使用TO_CHAR
函数。 NVL2(E1,E2,E3)的
功能为:如果E1为NULL,则
函数返回E3,若E1不为null,则返回E2。 SELECT name,NVL2(hiredate,TO_CHAR(hiredate,'yyyy-mm-dd'),'not available') FROM a_employee3; SELECT name,NVL(gender,'not available') FROM a_employee3; 6、in SELECT * FROM a_employee3 WHERE name IN ('Bbb','fff','ggg'); 7、>ANY 大于最小的 <ANY 小于最大的 >ALL 大于最大的 <ALL 小于最小的 SELECT name,salary,age,gender FROM a_employee3 WHERE salary > ALL (2500,4000,4500); 8、distinct 对单列去重 SELECT DISTINCT name FROM a_employee3; 9、 order by 使用多列进行排序时,左面的列排序优先级高于 右面的列 以上面为例: 首先按照sal的升序排列,当sal的值相同时,按照 deptno的降序排列。若sal的值全表没有重复,那么 第二列的排序会被忽略。 SELECT name FROM a_employee3 ORDER BY name DESC,salary DESC; 10、min max SELECT MAX(salary),MIN(gender) FROM a_employee3; 11、avg 求平均数 SELECT AVG(salary) FROM a_employee3; 12、sum SELECT MIN(salary),MAX(salary),AVG(salary),SUM(salary) FROM a_employee3 GROUP BY name; 13、HAVING HAVING用于在进行分组
查询后,二次过滤数据的 HAVING不能独立存在,必须跟在GROUP BY 之后。 HAVING中可以使用组
函数的结果进行过滤 与WHERE的区别在于: WHERE是用于第一次检索数据时过滤的。 HAVING是用于在检索后,进行二次过滤的 SELECT MIN(salary),SUM(salary),salary FROM a_employee3 GROUP BY salary HAVING AVG(salary)>20000; 14、COUNT SELECT COUNT(*) FROM a_employee3 WHERE salary>3000;