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 between09-may-91

4 and17-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操作,具体的组合查询与子查询将在以后的课堂中学习,同时希望大家可以工作、学习中多多摸索,实践!



posted @ 2008-11-08 13:15  李彪  阅读(935)  评论(0编辑  收藏  举报