PL/SQL第三章 基础查询语句
时间:2021-07-01 10:21:17
帮助过:3人阅读
--查询所有列 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;
PL/SQL第三章 基础查询语句
标签: