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

简介: 简要介绍Oracle中select语句过滤和排序数据,并附操作实例

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

相关文章
|
6月前
|
存储 Oracle 关系型数据库
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
在YMP校验过程中,从yashandb同步至Oracle的数据出现timestamp(0)字段不一致问题。原因是yashandb的timestamp(x)存储为固定6位小数,而Oracle的timestamp(0)无小数位,同步时会截断yashandb的6位小数,导致数据差异。受影响版本:yashandb 23.2.7.101、YMP 23.3.1.3、YDS联调版本。此问题会导致YMP校验数据内容不一致。
|
7月前
|
Oracle 关系型数据库 Linux
【YashanDB 知识库】通过 dblink 查询 Oracle 数据时报 YAS-07301 异常
客户在使用 YashanDB 通过 yasql 查询 Oracle 数据时,遇到 `YAS-07301 external module timeout` 异常,导致 dblink 功能无法正常使用,影响所有 YashanDB 版本。原因是操作系统资源紧张,无法 fork 新子进程。解决方法包括释放内存、停掉不必要的进程或增大进程数上限。分析发现异常源于 system() 函数调用失败,返回 -1,通常是因为 fork() 失败。未来 YashanDB 将优化日志信息以更好地诊断类似问题。
|
6月前
|
Oracle 关系型数据库 Java
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
本文介绍通过Flink CDC实现Oracle数据实时同步至崖山数据库(YashanDB)的方法,支持全量与增量同步,并涵盖新增、修改和删除的DML操作。内容包括环境准备(如JDK、Flink版本等)、Oracle日志归档启用、用户权限配置、增量日志记录设置、元数据迁移、Flink安装与配置、生成Flink SQL文件、Streampark部署,以及创建和启动实时同步任务的具体步骤。适合需要跨数据库实时同步方案的技术人员参考。
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
|
6月前
|
存储 Oracle 关系型数据库
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
|
6月前
|
Oracle 关系型数据库 Linux
【YashanDB知识库】通过dblink查询Oracle数据时报YAS-07301异常
【YashanDB知识库】通过dblink查询Oracle数据时报YAS-07301异常
|
7月前
|
Oracle 关系型数据库 Linux
【YashanDB 知识库】通过 dblink 查询 Oracle 数据时报 YAS-07301 异常
某客户在使用 YashanDB 通过 yasql 查询 Oracle 数据时,遇到 `YAS-07301 external module timeout` 异常,导致 dblink 功能无法正常使用,影响所有版本。问题源于操作系统资源紧张,无法 fork 新子进程。解决方法包括释放内存、停掉不必要的进程或增大进程数上限。分析发现异常原因为系统调用 fork() 失败。经验总结:优化日志记录,提供更多异常信息。
|
6月前
|
存储 Oracle 关系型数据库
【YashanDB知识库】YMP校验从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致
【YashanDB知识库】YMP校验从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致
|
SQL Oracle 关系型数据库
oracle数据库带或不带数据导入导出操作大全
oracle数据库带或不带数据导入导出操作大全
|
Oracle 关系型数据库 数据库
|
Oracle 关系型数据库 数据库