赛迪网 > IT技术 数据库 > 精彩更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

PL/SQL循序渐进全面学习教程 (1)

发布时间:2005.07.21 12:43     来源:chinaunix.net    作者:prewind

课程一 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
     FROM s_emp;

例2:

SQL> SELECT last_name, salary * 12, commission_pct
     FROM s_emp;

对于数值或日期型的字段,可以进行相应的四则运算,优先级与标准的高级语言相同。

SQL> SELECT last_name, salary, 12 * (salary + 100)
     FROM s_emp;

三、列的别名ALIASES:

计算的时候特别有用;

紧跟着列名,或在列名与别名之间加“AS”;

如果别名中含有SPACE,特殊字符,或大小写,要用双引号引起。

例:

SQL> SELECT last_name, salary,
     12 * (salary + 100) "Annual Salary"
     FROM s_emp;

四、连接符号:||

连接不同的列或连接字符串

使结果成为一个有意义的短语:

SQL> SELECT first_name || ’ ’ || last_name
     || ’, ’|| title "Employees"
     FROM s_emp;

五、管理NULL值:

SQL> SELECT last_name, title,
     salary * NVL(commission_pct,0)/100 COMM
     FROM s_emp;

此函数使NULL转化为有意义的一个值,相当于替换NULL。

六、SQL PLUS的基本内容,请参考《SQL PLUS 简单实用精髓篇》

七、ORDER BY 操作:

与其他SQL92标准数据库相似,排序如:

SELECT expr
FROM table
[ORDER BY [ASC|DESC]];

从Oracle7 release 7.0.16开始,ORDER BY 可以用别名。

另:通过位置判断排序:

SQL> SELECT last_name, salary*12
     FROM s_emp
     ORDER BY 2;

这样就避免了再写一次很长的表达式。

另:多列排序:

SQL> SELECT last name, dept_id, salary
     FROM s_emp
     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
     FROM s_emp
     WHERE start_date BETWEEN ’09-may-91’
     AND ’17-jun-91’;

例2:

SQL> SELECT last_name
     FROM s_emp
     WHERE last_name LIKE ’_a%’;  //显示所有第二个字母为 a的last_name

例3:

如果有列为NULL

SQL> SELECT id, name, credit_rating
     FROM s_customer
     WHERE sales_rep_id IS NULL;

优先级:

Order Evaluated Operator

1 All comparison operators (=, <>, >, >=, <, <=, IN, LIKE, IS NULL, BETWEEN)

2 AND

3 OR

总结:我们今天主要学习了如何进行查询SELECT操作,具体的组合查询与子查询将在以后的课堂中学习,同时希望大家可以工作、学习中多多摸索,实践!

1 2 3 4 5 6 7 8 9 10 11 12 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管