Oracle学习笔记:查询语句
基本查询语句
select [distinct] column_name1,...|* from table_name [where conditions]
sql*plus中设置格式
设置显示名称
column column_name heading new_name
colum可以简写为col
实例:col username heading 用户名;
将username 变为用户名(查询显示时)
结果显示的格式设置
column column_name format dataformat
字符类型只能设置显示的长度
实例:col username format a10;
将用户名最大变为长度为10
数值类型设置,9代表一位数字 比如保留一位小数 9.9
col salary format 9999.9;
最长为4位,保留一位小数
如果不满足的,不会输出,利用#代替
为数值加$符号
col salary format $9999.9
设置后,数字都会带一个$符号
清除字段的格式
column column_name clear
查询表中的数据
查询所用字段: select * from table_name;
查询指定的字段:select username,salary from users;
给字段设置别名
select column_name as new_name,... from table_name
这里as可以省略
实例:select id as 编号 from table_name;
distinct取出重复的值
运算符和表达式
oracle中的操作数可以有变量,常亮
算数运算符(+,-,*,/)
比较运算符(>,>=,<=,=,<>)
逻辑运算符(and,or,not)
比较和逻辑运算符只能在where语句中使用
在select语句中使用运算符
使用算数运算符
实例:每个员工工资+200
select id,username,salary+200 from users;
这里的计算不会影响表中的数据
使用比较运算符
实例:查询员工的工资超过800的
select username from users where salary>800;
使用逻辑运算符
实例:工资查过800,并且工资不为1000的
select username from users where salary>800 and slary<>1000;
带条件的查询
where 子句
单一条件查询
多条件查询
模糊查询
关键字:like
统配符的使用(_,%)
_(一个字符)
% (0-n个字符)
查询用户名以a开头的用户
select * from users where username like 'a%';
查询用户名的第二个字符是a的用户信息
select * from users where username like '_a';
用户名中含有a的
select username from users where username like '%a%'
范围查询
between...and
查询员工工资在800到2000中间
select * from users where salary between 800 and 2000;
in/not in 在/不在
查询用户名是aaa或者bbb的
select * from users where username in('aaa','bbb');
not in相反
对查询结果排序
select .....from [where...]
order by column1 desc/asc, ...
desc降序,asc升序,多个字段用逗号隔开
实例:降序排序id
select * from users order by id desc;
case...when语句的使用
第一种形式
case column_name when value1 then result1,....[else result] end
放在select语句中
实例:根据用户名显示不同的部门
select username,case username when 'aaa' then ‘计算机部门' when 'bbb' then '市场部门' else '其他部门' end as 部门 from users;
第二种形式
case when column_name =value1
then result1,..[else result] end
实例:根据用户名显示不同的部门
select username,case when username='aaa' then '计算机部门' when username='bbb' then '市场部门' else '其他部门' end as 部门 from users;
decode函数的使用
decode(column_name,value1,result1,...defaulvalue)
实例:
select username ,decode(username,'aaa','计算机部门','bbb','市场部门',’其他') as 部门
from users;
上一篇: 我是一名大学生