说明:
1、等价于没有任何值、是未知数。
2、NULL与0、空字符串、空格都不同。
3、对空值做加、减、乘、除等运算操作,结果仍为空。
4、NULL的处理使用NVL函数或者nvl2。
5、比较时使用关键字用“is null”和“is not null”。
6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来,
count(*)中,用nvl(列名,0)处理后再查。
7、排序时比其他数据都大(索引默认是降序排列,小→大),
所以NULL值总是排在最后。
对null 值的比较只能是is , is not , null通过其他方式和任何值(包括null)的比较结果都是空
对null值的处理可以通过nvl(,)
select * from dual where dummy is null;
oracle认为 null 最大。
升序排列,默认情况下,null值排后面。
降序排序,默认情况下,null值排前面。
有几种办法改变这种情况:
(1)用 nvl 函数或decode 函数 将null转换为一特定值
(2)用case语法将null转换为一特定值(oracle9i以后版本支持。和sqlserver类似):
order by (case mycol when null then ’北京漂客’ else mycol end)
(3)使用nulls first 或者nulls last 语法。
这是oracle专门用来null值排序的语法。
nulls first :将null排在最前面。如:select * from mytb order by mycol nulls first
null last :将null排在最后面。如:select * from mytb order by mycol nulls last
【sqlserver】:
sqlserver 认为 null 最小。
升序排列:null 值默认排在最前。
要想排后面,则:order by case when col is null then 1 else 0 end ,col
降序排列:null 值默认排在最后。
要想排在前面,则:order by case when col is null then 0 else 1 end , col desc
推荐下朋友开的淘宝店筱夜宫主(http://xiaoyegongzhu.taobao.com/)DR.HU 胡博士美妆~坐在电脑旁的汉子姑娘注意脸部护理呀,做了程序媛,也要美丽啊。。。小店有优惠码:YE4450,报优惠码,抵两元券,(⊙o⊙)…
相关推荐
Oracle数据库是一个强大的关系型数据库管理系统,它提供了丰富的查询功能,包括基本查询、过滤、排序等。本文将详细解析Oracle中的这些基础操作。 1. **基本查询**: - `SELECT * FROM 表名`:这是最基础的查询...
10. **空值处理**:Oracle使用NULL表示未知或未定义的数据。在查询中,需要特别注意空值的影响,可以使用IS NULL或IS NOT NULL来检查字段是否为空,或者使用NVL()函数将空值替换为其他值。 通过这些练习,你可以...
- SELECT语句:用于从表中检索数据,包括基本的SELECT,以及JOIN,GROUP BY,HAVING,ORDER BY等子句,用于组合多表数据,分组数据,过滤结果和排序。 - INSERT语句:用于向表中插入新的记录。 - UPDATE语句:...
这些知识点全面地覆盖了Oracle SQL的基础查询、条件过滤、模糊匹配、数据更新、空值处理以及结果排序等内容,对于Oracle数据库的初学者来说是一套非常实用的学习资料。通过这些案例题和答案,学习者可以对SQL语句有...
以上是Oracle SQL基础操作的一部分,涵盖了用户管理、查询、条件过滤、排序和字符串处理等多个方面。理解并熟练掌握这些基本操作是使用Oracle数据库的基础。在实际应用中,还需要学习更复杂的查询技巧,如联接、子...
**注意**:空值(NULL)在比较运算中会产生特殊的行为,与任何值比较都会得到未知(NULL)的结果,因此在设计查询时应特别注意处理空值。 以上知识点覆盖了Oracle数据库的基础概念、数据类型、查询语句以及环境配置...
Oracle数据库的基础知识主要涵盖SQL语言的使用,特别是限定查询和排序。SQL,全称为Structured Query Language,是用于管理和处理数据库的标准编程语言。本教程重点讲解了如何使用SQL语句进行数据筛选和排序。 首先...
- 控制流函数:如DECODE、NVL,用于条件判断和空值处理。 4. **第5章 多表连接** - 内连接(INNER JOIN):结合两个或多个表的相同记录。 - 左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN):...
Oracle数据库系统是企业...以上是Oracle数据库的基础知识,包括客户端工具使用、用户管理、数据查询、数据过滤、排序以及函数应用。这些内容构成了学习Oracle数据库的基础,并为更深入的学习和实际工作打下坚实的基础。
7. **空值处理**:在SQL中,任何包含空值的数学运算都会得到空值结果。 8. **字符串连接**:`select ename||sal from emp;`使用`||`符号将两个字段连接成一个字符串。 9. **去除重复值**:`select distinct deptno...
第2章过滤和排序数据讲述了如何使用WHERE子句过滤数据,包括使用判断条件、IN条件、NOT操作符、LIKE条件进行模糊匹配以及排序查询结果。本章是数据检索部分的核心内容,涉及到数据筛选和结果展示的技巧。 第3章单行...
- **通用函数**:如NVL、COALESCE等用于处理空值或返回特定值。 #### 四、从多表中查询数据 - **从多表中查询数据**:当需要从多个表中检索数据时,可以使用JOIN操作来关联这些表。 - **有效连接条件与笛卡儿积**...
8. **使用instr代替LIKE**:对于需要使用LIKE进行过滤的情况,可以考虑使用Oracle内置的instr函数,它通常比LIKE操作更快。 9. **避免使用UNION**:UNION操作会删除重复记录,这需要排序操作,可能会消耗大量资源。...
这部分涵盖了从单表到多表查询的各种技巧,包括WHERE子句的过滤功能、ORDER BY子句的排序操作,以及各种连接类型,如等值连接、不等连接、外连接和自连接。此外,还讨论了如何处理空值、使用列别名和聚合函数,以及...
如`SELECT`, `FROM`, `WHERE`, `GROUP BY`, `HAVING`, `ORDER BY`等,执行顺序是从左到右:先选择字段,然后从哪个表中选取,接着是筛选条件,之后是分组,再根据组内条件过滤(`HAVING`),最后是排序。函数的嵌套...
可以使用WHERE子句过滤数据,ORDER BY子句进行排序,GROUP BY和HAVING子句进行分组筛选。 5. **更新数据**:UPDATE语句用于修改表中的现有记录,如`UPDATE table_name SET column = new_value WHERE condition;` 6...
5. 空值null需要特别处理,在SQL中有专门的函数nvl来处理。 6. 拼接运算符“||”用于将多个字符串连接成一个字符串。 7. 文字字符串用于表示文本数据。 8. 使用DISTINCT关键字可以消除查询结果中的重复行。 9. ...
- **选择最优表名顺序**:Oracle的解析器按从右至左的顺序处理`FROM`子句中的表名。选择记录最少的表作为基础表可以提高查询效率。 - **WHERE子句的优化**:表之间的连接尽量使用主键、外键、唯一索引或索引。在`...