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;

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐