PL/SQL第三章 基础查询语句
1 --查询所有列 select * from tab_name|view_name; 2 SELECT * FROM emp; 3 SELECT * FROM (SELECT * FROM emp); 4 --查询特定列 5 SELECT * FROM emp WHERE emp.ename='SMITH'; 6 -- 注意PL/SQL Developer不支持会话控制语句 7 --以特殊格式显示日期列:数据类型是date或timestamp,默认显示格式:DD-Mon-RR 8 ALTER SESSION SET nls_date_language='SIMPLIFIED CHINESE'; 9 ALTER SESSION SET nls_date_language='AMERICAN'; 10 ALTER SESSION SET nls_date_format='YYYY"年"MM"月"DD"日"'; 11 SELECT * FROM emp; 12 SELECT ename,hiredate FROM emp; 13 -- 使用to_char函数定制日期显示格式 14 SELECT ename,to_char(hiredate,'yyyy"年"-MM_DD') FROM emp; 15 16 --取消重复列,使用关键字distinct,使用分组方式 17 SELECT deptno,job FROM emp; 18 SELECT DISTINCT deptno,job FROM emp; 19 SELECT deptno,job FROM emp GROUP BY deptno,job; 20 -- 显示重复的行数据 21 SELECT deptno,job FROM emp GROUP BY deptno,job HAVING COUNT(*)>1; 22 23 --使用算数表达式,取别名不能使用引号 SELECT ename,sal,sal*12 ‘年薪’ FROM emp;会报错 要么使用双引号,要么不用,就是不能使用单引号 24 SELECT ename,sal,sal*12 "年薪" FROM emp; 25 SELECT ename,sal,sal*12 AS "nianxin" FROM emp; 26 --使用别名 27 --处理null:null表示未知值,不是空格,也不是0,注意:当表达式中包含null,其显示的结果也为null 28 -- 使用nvl或nvl2处理null 此处的nvl相当于sqlserver中的isnull函数 29 SELECT ename,sal,comm,sal+comm FROM emp; 30 SELECT ename,sal,comm,sal+NVL(comm,0) FROM emp; 31 SELECT ename,sal,comm,NVL2(comm,comm+sal,sal) FROM emp;--nvl2相当于三元表达式 32 33 --连接字符串,使用||操作符或者concat函数 34 SELECT CONCAT(CONCAT(ename,'''s salary is '),sal) FROM emp; 35 36 --查看表 37 select table_name from all_tables; 38 select table_name from user_tables;