SQL 我不知道的Tips
2016-05-27 13:55
477 查看
1、FOUND_ROWS()
题目:
*答案* : SQL_CALC_FOUND_ROWS
SELECT SQL_CALC_FOUND_ROWS * FROM `table` LIMIT 20,10;
SELECT FOUND_ROWS();
分析:
老实讲,在看到这个题目之前,我不知道found_rows()的用法。
那么既然我们接触到了,就来简单了解一下,found_rows()究竟是什么。
首先,我们看一下手册中对这个函数的描述:
For a SELECT with a LIMIT clause, the number of rows that would be returned were there no LIMIT clause
A
may include a
to restrict the number of rows the server returns to the client. In some cases, it is desirable to know how many rows the statement would have returned without the
but without running the statement again.
推荐阅读>>
13.14 Information Functions
SQL语句中 SQL_CALC_FOUND_ROWS 的使用与否
MYSQL的FOUND_ROWS()函数
mysql SELECT FOUND_ROWS()与COUNT(*)用法区别
2.mysql null 默认值
题目:
SELECT a.id,b.name FROM tab1 AS a LEFT JOIN tab2 AS b ON(a.id=b.id) WHERE a.id>10;
以上sql的返回结果中,name列也许会出现null的情况,那么在name字段中使用什么函数将出现null改为一个默认值?
*答案*
ifnull
用法如下:
SELECT a.id,ifnull(b.name,'默认值') FROM tab1 AS a LEFT JOIN tab2 AS b ON(a.id=b.id) WHERE a.id>10;
题目:
SELECT * FROM `table` LIMIT 20,10;
在上边sql中使用什么选项可以使 SELECT FOUND_ROWS()忽略LIMIT子句,返回总数?
*答案* : SQL_CALC_FOUND_ROWS
SELECT SQL_CALC_FOUND_ROWS * FROM `table` LIMIT 20,10;
SELECT FOUND_ROWS();
分析:
老实讲,在看到这个题目之前,我不知道found_rows()的用法。
那么既然我们接触到了,就来简单了解一下,found_rows()究竟是什么。
首先,我们看一下手册中对这个函数的描述:
For a SELECT with a LIMIT clause, the number of rows that would be returned were there no LIMIT clause
A
SELECTstatement
may include a
LIMITclause
to restrict the number of rows the server returns to the client. In some cases, it is desirable to know how many rows the statement would have returned without the
LIMIT,
but without running the statement again.
推荐阅读>>
13.14 Information Functions
SQL语句中 SQL_CALC_FOUND_ROWS 的使用与否
MYSQL的FOUND_ROWS()函数
mysql SELECT FOUND_ROWS()与COUNT(*)用法区别
2.mysql null 默认值
题目:
SELECT a.id,b.name FROM tab1 AS a LEFT JOIN tab2 AS b ON(a.id=b.id) WHERE a.id>10;
以上sql的返回结果中,name列也许会出现null的情况,那么在name字段中使用什么函数将出现null改为一个默认值?
*答案*
ifnull
用法如下:
SELECT a.id,ifnull(b.name,'默认值') FROM tab1 AS a LEFT JOIN tab2 AS b ON(a.id=b.id) WHERE a.id>10;
相关文章推荐
- Oracle中给表添加主键、外键
- sqlcmd操作总结
- MySQL 的 RowNum 实现
- SQL的锁
- plsql查询oracle数据库 出现中文乱码(特别是在查询日期时对年月日显示乱码)
- redis配置认证密码
- mysql 将 字符 转换成 数字
- Oracle常用查看表结构命令
- mysql-关于group by和distinct
- PLSQL数组
- windows中实例无法启动的解决一例
- MySQL server has gone away 问题的解决方法
- redis之(十一)redis实现缓存的功能
- mysql GET DIAGNOSTICS 语法
- 试用阿里云RDS的MySQL压缩存储引擎TokuDB
- 试用阿里云RDS的MySQL压缩存储引擎TokuDB
- SQL— CONCAT(字符串连接函数)
- sqoop与mysql之间中文乱码
- mysql
- MySQL语言参考