【Oracle系列三 过滤和排序】教程文章相关的互联网学习教程文章

Oracle数据库--过滤和排序【图】

where子句紧跟From子句 1)查询10号部门的员工  SQL> select *   2 from emp   3 where deptno=10; 2)字符串大小写敏感 查询名叫KING的员工  SQL> select *2 from emp   3* where ename=‘KING‘  SQL> / 3)日期格式敏感 查询入职日期是17-11月-81的员工  SQL> select *   2 from emp   3 where hiredate=‘17-11月-81‘; 修改日期格式  SQL> select * from v$nl...

【Oracle】【29】根据字段的长度排序【代码】

select * from student s order by nvl(length(trim(s.sname)),0) asc -- nvl(attribute, default value) 当属性值为空时就将其值设默认值-- length(attrbute) 得到字符串的长度-- trim(attribute) 去掉字符的空格参考博客: Oracle ==>SQL 查询根据字符串的长度排序_清水绿草_新浪博客http://blog.sina.com.cn/s/blog_451f5962010164mv.html【Oracle】【29】根据字段的长度排序标签:-- def 属性 att 查询 get selec...

Oracle-DQL 2- 限定和排序

--查询30号部门员工的姓名,职位和工资SELECT ename,job,sal,deptno FROM empWHERE deptno = 30; --查询职位是manager的员工SELECT * FROM empWHERE job = ‘MANAGER‘;--手动输入字符串要加单引号,并且区分大小写 -- 比较条件的两边的数据类型必须一致 --查询工资高于2000的员工信息SELECT * FROM empWHERE sal > 2000; --where字句后面必须是一个完整的逻辑表达式,结果要么为真要么为假--在数据库中,这样的逻辑表达式通常是比...

Oracle之视图联合查询加排序问题

在公司修改bug,有这样的需求:需要从两张视图中查出相同字段的数据,按照导师姓名先排序,再按照学号排序 union联合两张表,SELECT * from((SELECT DS_ID,PYLX_ID,YX_ID,DS_XM,XH,XM FROM PY_VIEW_YJSXX WHERE ID IN (‘720c8511d1994434a55dae6f545652bc‘) )UNION ALL(SELECT DS_ID,PYLX_ID,YX_ID,DS_XM,XH,XM FROM PY_VIEW_ZJSXX WHERE ID IN ( ‘11‘ ) )) xsxx ORDER BY NLSSORT( xsxx.DS_XM, ‘NLS_SORT = SCHINESE_PINYIN_...

Oracle查看占用表空间最大的表(排序)

select t.owner,t.segment_name,t.tablespace_name,bytes/1024/1024/1024 as sizes,q.num_rows,t.segment_type 2 from dba_segments t 3 left join dba_tables q 4 on t.segment_name=q.table_name 5 and t.owner=q.owner 6 where t.segment_type=‘TABLE‘ 7 and t.tablespace_name=‘TS_AAA‘ --需要查看的表空间 8 order by 4 desc Oracle查看占用表空间最大的表(排序)标签:sele tab rom nbsp 代码...

【Oracle命令】sql语句之排序(order by)【代码】【图】

-- 降序排序(最新的显示在前面) SELECT * FROM 表名 t ORDER BY t.uploadDatetime DESC;格式:ORDER BY { column-Name | ColumnPosition | Expression }[ ASC | DESC ][ NULLS FIRST | NULLS LAST ][ , column-Name | ColumnPosition | Expression [ ASC | DESC ][ NULLS FIRST | NULLS LAST ]] *PS:默认为升序ASC 知识点:order by 后面可以接列号(数字)、列名、别名、表达式、函数、分组函数 order by 对空值的处理,DESC空...

Oracle系列三 过滤和排序【代码】【图】

employee_id,last_name,job_id,department_id FROM employees WHERE department_id = 90 ; 字符和日期字符和日期要包含在单引号中。 字符大小写敏感,日期格式敏感。示例:SELECTlast_name,job_id,department_id FROM employees WHERE last_name = ‘Whalen‘; 比较运算操作符 含义= 等于> 大于>= 大于等于< 小于<= 小于等于<> 不等于(也可以是!=) 赋值使用 := 符号比较运算示例:SELECTlast_name,salary FROM employ...

oracle的order by 中文排序原理【代码】

排序的查询字符ASCII码select ascii(‘燀‘) from dual;这里说一下oracle中的汉字分类:一级汉字,是最常用的汉字,按汉语拼音字母顺序排列,共3755个;二级汉字,属于次常用汉字,按偏旁部首的笔划顺序排列,共3008个所以可能存在一些二级汉字的首字母是一级汉字的首字母之前的,会排序在一级汉字之后 正确排序方式:1.按照拼音顺序 ORDER BY nlssort(NAME, ‘NLS_SORT=SCHINESE_PINYIN_M‘);2.按照部首顺序ORDER BY nlssort(NAM...

Oracle中排名排序函数,ROW_NUMBER、RANK、DENSE_RANK、NTILE【图】

1.ROW_NUMBER()定义:ROW_NUMBER()函数作用就是将select查询到的数据进行排序,每一条数据加一个序号,他不能用做于学生成绩的排名,一般多用于分页查询, 比如查询前10个 查询10-100个学生。 实例: 1.1对学生成绩排序 这里number就是每个学生的序号 根据studentScore(分数)进行desc倒序 1.2获取第二个同学的成绩信息 这里用到的思想就是 分页查询的思想 在原sql外再套一层select where t.number>=1 and t.number<=10 是...

oracle 查询按照中文排序

在oracle 9i之前,对中文的排序,是默认按2进制编码来进行排序的. 9i时增加了几种新的选择:按中文拼音进行排序:SCHINESE_PINYIN_M按中文部首进行排序:SCHINESE_RADICAL_M按中文笔画进行排序:SCHINESE_STROKE_M而oracle 9i是对中文的排序是默认按拼音排序(并不是指NLS_SORT = SCHINESE_PINYIN_M,而是说SQL中不指定NLS_SORT时对中文列排序时默认按拼音)的,跟之前的2进制编码排序有所不同.具体用法如下:直接写在sql中,例如:SELECT * F...

ORACLE中用某个字段的首字母排序

正菜上: 1.使用oracle自带的函数nlssort;1)按照汉字首字母排序:nlssort(xxx,‘NLS_SORT=SCHINESE_PINYIN_M‘);2)按照汉字笔画排序:nlssort(xxx,‘NLS_SORT=SCHINESE_STROKE_M‘);3)按照汉字部首排序:nlssort(xxx,‘NLS_SORT=SCHINESE_STROKE_M‘); 2.如果需要将空值放在前面:后面加 nulls first 3.如果需要将空值放在前面:后面加 nulls last 扩展:1.这样会把数字排在前面:如果想把数字放后面:nlssort((case when tri...

Oracle数据库--排序【图】

1.排序有升序和降序之分:ASC表示升序排序,DESC表示降序排序.如果不指明排序顺序,默认的排序顺序为升序ASC. 2.以表中某些字段的加减乘除作为排序项:select name, (chinese + math) as score from zj_test order by score; 3.decode()函数的使用 --通过decode()函数,sex值为男的记录被转换为了2,而其他的记录都是1   select name, sex from zj_test order by decode (sex, ‘男‘, 2, 1); Oracle数据库--排序标签:acl chinese...

Oracle Order By排序用法详解【代码】【图】

要按列排序结果集,可以在ORDER BY子句之后列出该列。 按照列名是一个排序顺序,可以是:ASC表示按升序排序 DESC表示按降序排序默认情况下,无论是否指定ASC,ORDER BY子句都按升序对行进行排序。如果要按降序对行进行排序,请明确使用DESC。 NULLS FIRST在非NULL值之前放置NULL值,NULLS LAST在非NULL值之后放置NULL值。 ORDER BY子句可以按多列对数据进行排序,每列可能有不同的排序顺序。 请注意,ORDER BY子句总是SELECT语句中...

oracle使用orderby对汉字进行多字段排序

今天遇到一个奇怪的问题, 在两个不同的数据库里执行同样的sql语句, 相同的数据却排序结果不一致。 执行sql如下: select decode(brch.LOCAL, Y, 国内, 国际) as local, brch.COUNTRY, brch.PROVINCE, brch.CITY, brch.AREA, brch.VENDOR, brch.SERVI今天遇到一个奇怪的问题, 在两个不同的数据库里执行同样的sql语句, 相同的数据却排序结果不一致。执行sql如下: select decode(brch.LOCAL, Y, 国内, 国际) as local, brch.COU...

oracle的Topn时排序问题

在 oracle 中使用 SQL 查询时, 可以用“ rownumn ”来取得 top n 的记录,但当使用 order by 关键字进行排序时就有问题了(可以试试)。 如下 sql script: 【 select [column] from[table_name] where rownum= 5 order by[column] desc 】 当使用 order by在oracle 中使用SQL查询时,可以用“rownum<n”来取得 top n的记录,但当使用 order by关键字进行排序时就有问题了(可以试试)。<?xml:namespace prefix = o ns = "urn:schema...