数据库查询优化学习笔记(一)查询基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ld705454682/article/details/82180333

1查找空值

不能用=NULL,而是IS NULL,IS NOT NULL

2模糊查询

转义/

select * from table where name like '\_BCE' ESCAPE '\';

3按多个字段排序

先按第一个排序条件将数据分成几组,然后每组的数据再按后面的列进行排序。

4按字串排序

SELECT User,SUBSTR(password_last_changed,19,1) from user ORDER BY 2;

5按条件取不同列中的值排序

SELECT case when Db='sys' THEN 1 else 2 end as '级别' FROM db ORDER BY 1;

6空字符串与NULL

null可以是任何类型,而空字符串本身是varchar2类型。

例:select no as 序号,name as 名称,deptNo as 部门编码 from  a

union all

select no as 序号,name as 名称,null as 部门编码 from  b;

结果:

序号 名称 部门编码

1  zhangsan 2

2 lisi    

如果上述语句改成

select no as 序号,name as 名称,deptNo as 部门编码 from  a

union all

select no as 序号,name as 名称,' ' as 部门编码 from  b;

则报:表达式必须具有与对应表达式相同的数据类型。

空字符串查询结果显示成NULL。

select ' ' as c1 from a;

查询结果:

c1

null

7UNION与OR

union all 与 or作用不等价,union 与or作用等价,or是取两个结果的合集而非并集,union all取并集(不去重),union(去重)。

猜你喜欢

转载自blog.csdn.net/ld705454682/article/details/82180333