基本查询语句
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;