PL/SQL 学习笔记(一)----- pl/sql 基本查询与排序
一 pl/sql 基本查询与排序
学习内容:
1、写select语句进行数据库查询
2、进行数学运算
3、处理空值
4、使用别名aliases
5、连接列
6、在sql plus中编辑缓冲,修改sql scripts
7、order by进行排序输出。
8、使用where 字段。
一、写sql 命令:
不区分大小写。
sql 语句用数字分行,在sql plus中被称为缓冲区。
最后以;或 / 结束语句。
也可以用run来执行语句
二、
例1:sql> select dept_id, last_name, manager_id
2 from s_emp;
2:sql> select last_name, salary * 12, commission_pct
2 from s_emp;
对于数值或日期型的字段,可以进行相应的四则运算,优先级与标准的高级语言相同。
sql> select last_name, salary, 12 * (salary + 100)
2 from s_emp;
三、列的别名aliases:
紧跟着列名,或在列名与别名之间加“as”;
如果别名中含有space,特殊字符,或大小写,要用双引号引起。
例(因字体原因,读者请记住:引号为英文双引号double quotation):
sql> select last_name, salary,
2 12 * (salary + 100) ”annual salary”
3 from s_emp;
四、连接符号:||
连接不同的列或连接字符串
使结果成为一个有意义的短语:
sql> select first_name || ’ ’ || last_name
2 || ’, ’|| title ”employees”
3 from s_emp;
五、管理null值:
sql> select last_name, title,
2 salary * nvl(commission_pct,0)/100 comm
3 from s_emp;
此函数使null转化为有意义的一个值,相当于替换null。
六、sql plus的基本内容
作成中……
七、order by 操作:
与其他sql92标准数据库相似,排序如:
select expr
from table
[order by {column,expr} [asc|desc]];
从oracle7 release 7.0.16开始,order by 可以用别名。
另:通过位置判断排序:
sql> select last_name, salary*12
2 from s_emp
3 order by 2;
这样就避免了再写一次很长的表达式。
另:多列排序:
sql> select last name, dept_id, salary
2 from s_emp
3 order by dept_id, salary desc;
八、限制选取行:
select expr
from table
[where condition(s)]
[order by expr];
例1:
sql> select first_name, last_name, start_date
2 from s_emp
3 where start_date between ’09-may-91’
4 and ’17-jun-91’;
例2:
sql> select last_name
2 from s_emp
3 where last_name like ’_a%’; //显示所有第二个字母为 a的last_name
例3: 如果有列为null
sql> select id, name, credit_rating
2 from s_customer
3 where sales_rep_id is null;
优先级:
order evaluated operator
1 all comparison operators (=, <>, >, >=, <, <=, in, like, is null, between)
2 and
3 or
总结:我们今天主要学习了如何进行查询select操作,具体的组合查询与子查询将在以后的课堂中学习,同时希望大家可以工作、学习中多多摸索,实践!