您的位置:首页 > 数据库 > Oracle

oracle基础知识(1.2)

2010-03-03 11:40 246 查看
sql脚本,也就是在文件中写有sql语句的文件,可以在sqlplus中运行。

引入sql脚本

sqlplus 用户名/密码 @sql脚本.sql

(注意:在用户名密码输入结束后一定要加空格然后再写@sql脚本)

Oracle中的空值会当作无穷大处理,其实空值根本就不会存储,只是看作是无穷大。

Oracle中控制处理函数 NVL(字段名,值),这个字段中的空值替换为指定值,如果不为空,则会返回其原值。

例:select (salary*12)*(NVL(commission_pct,0)/100+1) salary,first_name

from s_emp;

distinct关键字,去掉重复行(这个关键字会处发排序操作)

例: select distinct dept_id,title from s_emp;

注意:distinct,关键字之后会对from之前的字段进行排重操作。

column命令(这是个sqlplus命令)

column命令 列格式的定义

column 目标列名 查看这个类是否定义了格式

column 目标列名 format a.. 设置列宽

column last_name heading 'Employee|Name'(设置题头) FORMAT A15

这其中的'|'是换行符

column salary justify left format $99,990.00(定义数字显示格式)

注意:如果不满足显示的格式,就会把数据显示为"#"

column 列名 clear (清除列格式定义)

注意:只有sqlplus命令才有简写,并且在使用sqlplus命令时结尾也不能加分号。

选择操作

order by 排序子句 ASC(默认,升序) DESC(降序)

order by 目标列名(别名) 排序顺序(不写排序顺序,会默认为升序排序)

例:select first_name from s_emp order by first_name;

select first_name from s_emp order by first_name desc;

注意:升序空值在结果的末尾,降序空值在结果的最前面。

where子句

where子句使用在 select ... from ... 后面,用来选择所需(符合条件的)的记录

where后面跟的是表达式 也就是 XXX=XXX XXX between X and X XXX inXXX

like '...'通配查询

between ... and ... ,表示结果在这之间,between and是一个闭区间,

也就相当于... <= ... and ... >= ...

!=<>^=,这三个都标识不等于<=>==这些运算符都可以使用。

... in (va1,val2,...) 判断结果是否在这个枚举中存在

like '...' 字符串通配查询,'%'表示多个字符,'_',表示一个字符。

... and ... 表示只有两个条件同时满足

... or ... 表示条件只要满足其中只一就可以

all(数据或子查询)



select first_name from s_emp where salary<>all(2500,1500);

all中的数据和纪录中的值全部一致,一般使用!=all(),来过滤在某个范围纪录

not .....,则是可以与以上的条件产生反效果。

空值会对not in造成影响,也就是不等于任何值,但是空值例外。

... is null 使用来判断值是不是空。

转义,使用escape定义转义符 'S\_%' escape '\',使用转义,可以避免和运算符相同的字符的查询

例:

select table_name from user_tables where table_name like 'S\_%' escape '\'

注意:Oracle中的字符串是严格区分大小写的。

1.注意数据类型,数字类型直接写,字符用'......' ,缺省格式的Date可以用'......',只有别名才用" "包含。

2.选择合适的运算符

[b]此文章出自:http://heimeiyingwang.javaeye.com/blog/286029[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: