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 in(X,X,X)
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]
引入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 in(X,X,X)
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]
相关文章推荐
- oracle基础知识
- oracle基础知识,oracle sql练习
- ORACLE基础知识
- Oracle基础知识--------------删除oracle当前用户下的所有对象
- Oracle基础知识(3)--约束
- java weblogic oracle相关连接基础知识收集
- Oracle基础知识-数据迁移
- ORACLE 12C PDB 维护基础知识介绍
- oracle基础知识(二)
- Oracle基础知识(1)
- Oracle基础知识(六) - 触发器的分类:DDL触发器
- Oracle基础知识3 : 单表查询练习
- Oracle基础知识5 : 多表查询1
- Oracle 11g RAC 的一些基础知识
- Oracle基础知识笔记之一
- Oracle——基础知识(一)
- oracle基础知识小结
- Oracle架构的基础知识(入门级)
- Oracle基础知识(二十二) - 存储过程in out inout三种参数模式
- Java软件开发基础知识梳理之(1)------Oracle索引