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;

 

posted @ 2015-08-19 22:15  理舞  阅读(337)  评论(0编辑  收藏  举报