java oracle 排序_Oracle的排序和限制条件(order by 和where)
1、Order by子句的使用
select column....
from ....
order by ...
1) Order by子句在整个
select语句中的位置:
始终位于最后
2) order by后可以跟什么:
列名,列的别名,表达式,
列出现在select关键字后的
顺序(列号);
3) order by后可以跟多列,
表示先按第一列排序,
如第一列有相同值再按
第二列进行排序,如前二列
均有相同值,则按第三列进行排序...
4) ASC表升序,可以省略.
DESC表降序。
5)空值永远是最大的。
升序排序的时候,空值放在最后
降序排序的时候,空值放在最前面的
note: 出现在order by子句之后的列,不一定出现在select子句中。
2、Where子句的使用
语法:
select col_name,...
from tb_name
where col_name 比较操作表达式
逻辑操作符
col_name 比较操作表达式
1) 作用:对SQL语句返回的数据集进行筛选;
2) 位置:紧跟在from子句后
3) 内容:由一至多个限定条件组成,限定条件由表达式,比较符,字面值组成。
4) 所有字符串和日期要用单引号括起来,数值不需要单引号。
日期在Oracle里有特定的格式,’DD-MON-YY’(具体看日期的显示格式),
否则作为一个字符串。
5) 几种常见的操作符:
1》逻辑比较操作符
= > < >= <= != <> ^=
需求:查找工资大于1000的所有员工的last_name和工资。
需求:查找不在45号部门工作的所有员工的id,last_name和dept_id,并且按照dept_id升序进行排序
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符号指明即可,转义字符只能转义后面的一个字符
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
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
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;
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;
需求:查看员工名字以C字母开头的员工的id,工资。
练习:查看员工名字长度不小于5,且第四个字母为n字母的员工id和工资
需求:查看员工名字中包换一个_的员工id和工资
需求:查看员工提成为为空的员工的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和名字
select id,last_name,dept_id,title
from s_emp
where dept_id = 41
and
title = 'Stock Clerk';
练习:查看员工部门为41 或者44号部门 且工资大于1000的员工id和名字
select id,last_name,dept_id,title
from s_emp
where salary > 1000
and
(dept_id = 41
or
dept_id = 44);
查看员工部门为41且工资大于1000或者44号部门的员工id和名字
select id,last_name,dept_id,title
from s_emp
where salary > 1000
and
dept_id = 41
or
dept_id = 44;
java oracle 排序_Oracle的排序和限制条件(order by 和where)相关推荐
- java oracle分页_oracle 分页存储过程和java代码
create or replace procedure contfenyePro( v_in_tablename in varchar2, v_in_pagesize in number, v_in_ ...
- java oracle 流水号_Oracle生成流水号函数
一.参考 1:日期范围上 smalldatetime的有效时间范围1900/1/1~2079/6/6 datetime的有效时间范围1753/1/1~9999/12/31 2:精准度上 smallda ...
- java oracle 字符_Oracle转义字符
1.oracle 特殊字符 转义 关键词: oracle 转义 环境:oracle 9i plsql 在plsql里边执行: update userinfo set pageurl='myjs ...
- java oracle 序列_Oracle之序列
一.序列概述 在Oracle中,可以用Sequence序列号生成器,为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).其主要用途是生成表的主键值,可以在插入语句中引用,在插入之前,获取序列 ...
- java oracle 触发器_Oracle 触发器
一.触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行.因此触发器不需要人为的去调用,也不能调用.然后,触发器的触发条件其实在你定义的时候就已经设定好了.这里面需 ...
- oracle和mysql查询条件排序_Oracle数据库中ORDERBY排序和查询按IN条件的顺序输出
ORDER BY非稳定的排序提一个问题: oracle在order by 排序时,是稳定排序算法吗? 发现用一个type进行排序后,做分页查询,第一页的数据和第二页的数据有重复 怀疑是order by ...
- java 按照笔画排序_oracle 按照拼音、部首、笔画排序
下面的方法需要ORACLE9i和以上的版本才支持. Oracle9i之前,中文是按照二进制编码进行排序的. 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINE ...
- oracle 排序_Oracle数据库中SQL之过滤和排序数据
1 过滤 使用WHERE子句,将不满足条件的行过滤掉.WHERE子句紧随FROM子句 SELECT *|{[DISTINCT]column|expression[alias]} FROM table ...
- java 排序 1和1_新手入门-冒泡排序和选择排序第一节排序1.1排序概述排序(
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 新手入门-冒泡排序和选择排序 第一节排序 1.1排序概述 排序(sorting)的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列.  ...
最新文章
- 剑指offer23:从上到下打印二叉树
- 解决Android 5.1物理键盘与软键盘的同时使用
- [YTU]_2476(E3 继承了,成员函数却不可访问)
- js获取被点击的元素以及子元素
- Java内存泄漏的介绍
- 大数据之-Hadoop之HDFS_HDFS_基于JAVA的开发_客户端环境准备---大数据之hadoop工作笔记0054
- python工资一般多少大专学历-这个面试官真霸气 不收大专程序员
- 购物商城Web开发第十四天
- 关于a标签下载的相关坑
- win10五分钟自动锁屏
- 大数据与云计算之间的关系是怎样的?
- three.js学习笔记(十四)——Shaders着色器
- php汉字占几个字节,php一个汉字几个字节
- MAC地址到IPV6地址的转换
- 7. RabbitMQ 高级
- 当我们遇到100亿次请求?该如何设计后端架构?
- 服务器里的文件删了能恢复吗,远程把服务器文件删了怎么恢复
- BOREDHACKERBLOG: CLOUD AV
- 【打印机设置】实验室打印机 DocuCentre 2020 彩色打印设置
- MATLAB车牌识别(含GUI,语音播报)
热门文章
- java安装 hello_安装JAVA步骤,并编写HELLOWORLD程序
- 泰禾光电机器人研发_机器之眼 | 3D相机能让机器人看见什么?
- 获取list泛型_泛型
- 用pycharm写python老是提示错误_python pycharm错误集锦
- itunes未能连接到iphone_iTunes下载_苹果iTunes官方下载「32位|64位」
- plsql视图添加表字段_Oracle-单表多字段查询(不使用*)
- 神经网络的全连接层_深度神经网络全连接层
- Python高级数据类型-字符串,列表,元组,字典
- Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)
- Shell 中各种括号的作用