且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Oracle中select语句过滤和排序数据

更新时间:2021-08-07 19:47:30

1,where语句筛选出列中的信息,输出行
在emp表格中筛选部门编号是30 的行
Oracle中select语句过滤和排序数据
如果筛选内容为字符或者日期时要用‘ ’,字符区分大小写,日期按照固定的格式填写,。
Oracle中日期的固定格式为DD-MON-RR,为了符合我们的查看习惯,我们把日期格式更改为YYYY-MM-DD,
修改日期格式命令为alter session set nls_date_format=‘YYYY-MM-DD’
例:输出员工名字为KING的行
Oracle中select语句过滤和排序数据
输出入职日期为1980-12-17的员工信息
Oracle中select语句过滤和排序数据
2,比较符的运算包括以下运算
Oracle中select语句过滤和排序数据
例:输出部门编号大于20的员工信息
Oracle中select语句过滤和排序数据
输出入职日期比1980-12-17晚的员工信息
Oracle中select语句过滤和排序数据
下面试着比较字符串,根据输出结果我们可以知道,它比较的是我们输入的字符串首字母的ASCII码
Oracle中select语句过滤和排序数据
其中的> < >= <= <>(不等于) 用法相同,就不在展示
2.1,between and 是筛选出两个值之间的值,包括这两个值
例筛选出工资在800-1300的员工信息
Oracle中select语句过滤和排序数据
日庺信息期也可以用此进行筛选,但是要加‘ ’。
筛选出入职日期在1980-12-17和1981-12-03之间的员工信息
Oracle中select语句过滤和排序数据
2.2,in表示筛选出列表中的某些值,删选值用()括起来,字符串要加‘ ’,多个值之间用“,”隔开。
例筛选出列表中名字为WARD 和FORD 的员工信息
Oracle中select语句过滤和排序数据
2.3,like字符,表示筛选类似的值,选择条件可以是数字或字符后加%代表后边有多个字符,后加_表示后边有一个字符,like后的内容要写在 ‘ ’中。
例,筛选出名字中第一个字符是S的员工信息
Oracle中select语句过滤和排序数据
筛选出部门编号第一位是2的两位的员工信息
Oracle中select语句过滤和排序数据
2.4,null表示空值
例,筛选出奖金为空值的员工信息
Oracle中select语句过滤和排序数据
2.5,null和between and ,都可以用not进行否定筛选命令分别为
is not null ; not between a and b
例工资不在800-1300的员工信息
Oracle中select语句过滤和排序数据
3,逻辑运算符包括
Oracle中select语句过滤和排序数据
3.1,and至同时可以筛选多个条件,是且的关系
例,筛选部门编号大于等于20 且奖金是空值的员工信息
Oracle中select语句过滤和排序数据
3.2 or 至同时删选多个条件,之间是或的关系
例,筛选部门编号大于等于20 或奖金是空值的员工信息
Oracle中select语句过滤和排序数据
4,表达式中运算符的优先规则
Oracle中select语句过滤和排序数据
例,筛选部门编号大于等于20,或者工资大于1500且奖金为空值的员工信息
Oracle中select语句过滤和排序数据
筛选出的内容为部门编号大于等于20的和工资大于1500且奖金为空值的员工信息
若要改为筛选部门编号大于等于20或者工资大于1500 ,且奖金为空值的员工信息,则为:
Oracle中select语句过滤和排序数据
5,order by 语句,默认和asc是升序排列,desc是降序排列,order by 语句在select语句的结尾;
例,输出员工信息并按照工资的升序排列
Oracle中select语句过滤和排序数据
输出员工信息并按照工资的降序排列
Oracle中select语句过滤和排序数据
其中列数也可以用我们要输出的内容的顺序数字代替,例如,输出员工信息并按照工资的升序排列
Oracle中select语句过滤和排序数据
6,替代变量,使用&和&&临时存储值
使用替代变量,可以替代以下内容:where语句,order by子句,列表达式,表名,整个select语句
6.1用变量替代部门编号
Oracle中select语句过滤和排序数据
/表示重复上一个命令
Oracle中select语句过滤和排序数据
6.2 用变量替代日期,别忘了使用 ‘ ’
Oracle中select语句过滤和排序数据
同理替代字符