前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >oracle基础|oracle排序用法|order by用法|where用法

oracle基础|oracle排序用法|order by用法|where用法

作者头像
小小鱼儿小小林
发布2021-10-09 11:03:15
3.4K0
发布2021-10-09 11:03:15
举报
文章被收录于专栏:灵儿的笔记灵儿的笔记

目录

前言

1、Order by 子句的使用

2、Where子句的使用


前言

前面给大家讲解了oracle的基础用法,大家可以点击这里回顾一下:oracle基础|oracle的认知|Select用法详解

然后在文末,也顺便给大家简单的提及了order by和where的用法,这篇文章就给大家详细的介绍一下order by 和 where的用法

1、Order by 子句的使用

select column....

from ....

order by ...

代码语言:txt
复制
1) Order by子句在整个
代码语言:txt
复制
select语句中的位置:
代码语言:txt
复制
始终位于最后
代码语言:txt
复制
2) order by后可以跟什么:
代码语言:txt
复制
列名,列的别名,表达式,
代码语言:txt
复制
列出现在select关键字后的
代码语言:txt
复制
顺序(列号);
代码语言:txt
复制
3) order by后可以跟多列,
代码语言:txt
复制
表示先按第一列排序,
代码语言:txt
复制
如第一列有相同值再按
代码语言:txt
复制
第二列进行排序,如前二列
代码语言:txt
复制
均有相同值,则按第三列进行排序...
代码语言:txt
复制
4) ASC表升序,可以省略.
代码语言:txt
复制
DESC表降序。
代码语言:txt
复制
5)空值永远是最大的。
代码语言:txt
复制
升序排序的时候,空值放在最后

降序排序的时候,空值放在最前面的

如果降序的时候,null在全前面,你不想要null在前面,可以加上null last

eg:order by column null last

note: 出现在order by子句之后的列,不一定出现在select子句中。

2、Where子句的使用

语法:

select col_name,...

from tb_name

where col_name 比较操作表达式

逻辑操作符

col_name 比较操作表达式

代码语言:txt
复制
1) 作用:对SQL语句返回的数据集进行筛选;
代码语言:txt
复制
2) 位置:紧跟在from子句后
代码语言:txt
复制
3) 内容:由一至多个限定条件组成,限定条件由表达式, 比较符, 字面值组成。
代码语言:txt
复制
4) 所有字符串和日期要用单引号括起来,数值不需要单引号。
代码语言:txt
复制
日期在Oracle里有特定的格式,’DD-MON-YY’(具体看日期的显示格式),
代码语言:txt
复制
否则作为一个字符串。
代码语言:txt
复制
5) 几种常见的操作符:

1》逻辑比较操作符

= > < >= <= != <> ^=

需求:查找工资大于1000的所有员工的last_name和工资。

需求:查找不在45号部门工作的所有员工的id,last_name和dept_id,并且按照dept_id 升序进行排序

代码语言:javascript
复制
select id,last_name,dept_id

from s_emp

where dept_id<>45

order by dept_id;

2》sql比较操作符

between and:在什么范围之内

in(list):在一个列表中

like:模糊查询,即值不是精确的值的时候使用

通配符,即可以代替任何内容的符号

%:通配0到多个字符

_: 当且仅当通配一个字符

转义字符:

默认为\,可以指定 指定的时候用escape 符号指明即可,转义字符只能转义后面的一个字符

代码语言:txt
复制
between 1 and 4: 包括起止值。限定内容为1到4。

in (1,2,4): 限定内容为1,2,4。

is null:对null值操作特定义的操作符,不能使用=

3》逻辑操作符

当条件有多个的时候使用

and:且逻辑

or:或逻辑

注意:and逻辑比or逻辑要高

not:非逻辑

4)

需求:

1.查找员工id在5,20之间的所有员工的id和last_name

代码语言:javascript
复制
select id,last_name

 from s_emp

 where id between 5 and 20;

or  

select id,last_name

from s_emp

where id >=5 and id<=20;

2.查找员工id不在5,20之间的所有员工的id和last_name

代码语言:javascript
复制
 select id,last_name

 from s_emp

 where id not between 5 and 20;

or

select id,last_name

from s_emp

where id <5 or id > 20;

3.查找在43或者44号部门的员工的id和last_name;

代码语言:javascript
复制
select id,last_name

from s_emp

where dept_id in(43,44);

or

select id,last_name

from s_emp

where dept_id = 43 or dept_id = 44;

需求:查看员工提成为为空的员工的id和名字

select id,last_name,commission_pct

from s_emp

where commission_pct is null;

3.逻辑操作符

当条件有多个的时候使用

and:且逻辑

or:或逻辑

注意:and逻辑比or逻辑要高

not:非逻辑

需求:查看员工部门id为41且职位名称为Stock Clerk(存库管理员)的员工id和名字

代码语言:javascript
复制
select id,last_name,dept_id,title

from s_emp

where dept_id = 41

and

      title = 'Stock Clerk';

练习:查看员工部门为41 或者 44号部门 且工资大于1000的员工id和名字

代码语言:javascript
复制
select id,last_name,dept_id,title

from s_emp

where salary > 1000

and

      (dept_id = 41

      or

      dept_id = 44);
代码语言:txt
复制
   查看员工部门为41且工资大于1000 或者 44号部门的员工id和名字
代码语言:javascript
复制
select id,last_name,dept_id,title

from s_emp

where salary > 1000

and

      dept_id = 41

or

      dept_id = 44;

上面两个sql注意括号的区别

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-09-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1、Order by 子句的使用
  • 2、Where子句的使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档