SQLCookbook 学习笔记 检索记录

特殊字符 * 表示 所有列

使用* 和指定某个列 ,性能相同。

使用WHERE 指定 要保留哪些行

判断某个字段 是非为空 用 is null 或者 is not null 如:

mysql> select * from menpiao where logdate is null;

在使用 and 和or 的时候,可以使用圆括号作为一个 整体的判断。

在select查询中使用指定列,可以不返回多余的数据,在跨越网络的检索中,能避免不需要的时间浪费。

可以使用AS 改变列名。

select sal as salary from menpiao;

这将 sal 改新名 salary。 有些数据库 接收 不用as 的方式 ,但是 所有数据库都接受 使用as 的方式。

如何在where语句中使用别名的方法。

select * from (select sal as salary from menpiao) x where salary = 3000;

WHERE子句 是在 SELECT 之前处理的,所有在WHERE 子句之前 salary 并不存在。要在where语句处理完之后,别名才能生效。

连接列值

MySQL使用 concat 函数

select concat(name, ‘ phone number is ‘,phone) as content from menpiao_2015 where num=’12’

使用CASE表达式直接在SELECT语句中执行条件逻辑

select *,case when logdate < ‘2015-01-22 14:30’ then ‘zao’ else ‘chi’ end as jieguo from menpiao_2015 where num = ’12’

结果集

如果没有ELSE,,对于不满足判断条件的行,CASE表达式返回NULL。

限制返回行数

在Oracle中,不能用where ROWNUM = 5 来返回第五行。

随机返回n条记录

mysql> select * from menpiao_2015 order by rand()limit 5;

ORDER BY 子句可以接受函数的返回值,并使用它来改变结果集的次序。

查找空值

必须使用 IS NULL

NULL不能用 != 或者 = 来比较。必须使用IS NULL 或者 IS NOT NULL

select coalesce(comm,0) from emp;当comm字段为NULL时候,则返回0.按模式搜索使用LIKE 运算 和 % 通配符。select name where name like ‘%ER%’;% 匹配任意字符序列_ 匹配单一单个字符, 所以当需要匹配的字符中有_时,需要用转移字符\

一个能从别人的观念来看事情,能了解别人心灵活动的人,永远不必为自己的前途担心。

SQLCookbook 学习笔记 检索记录

相关文章:

你感兴趣的文章:

标签云: