`
orcl_zhang
  • 浏览: 243330 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

API

阅读更多
引用
http://dev.mysql.com/

引用
A similar MySQL extension applies to the HAVING clause. Standard SQL does not permit the HAVING clause to name any column not found in the GROUP BY clause unless it is enclosed in an aggregate function. MySQL permits the use of such columns to simplify calculations. This extension assumes that the nongrouped columns will have the same group-wise values. Otherwise, the result is indeterminate.

To disable the MySQL GROUP BY extension, enable the ONLY_FULL_GROUP_BY SQL mode. This enables standard SQL behavior: Columns not named in the GROUP BY clause cannot be used in the select list or HAVING clause unless enclosed in an aggregate function.

For example, the following query returns name values that occur only once in table orders:

SELECT name, COUNT(name) FROM orders
  GROUP BY name
  HAVING COUNT(name) = 1;
However, the result of the following similar query that uses an alias for the aggregated column depends on the SQL mode:

SELECT name, COUNT(name) AS c FROM orders
  GROUP BY name
  HAVING c = 1;
In this case, a non-grouping field 'c' is used in HAVING clause error occurs if ONLY_FULL_GROUP_BY is enabled because the extension does not apply. The column c in the HAVING clause is not enclosed in an aggregate function (instead, it is an aggregate function).


引用
A.5.3. 与NULL值有关的问题
对于SQL的新手,NULL值的概念常常会造成混淆,他们常认为NULL是与空字符串''相同的事。情况并非如此。例如,下述语句是完全不同的:

mysql> INSERT INTO my_table (phone) VALUES (NULL);
mysql> INSERT INTO my_table (phone) VALUES ('');
这两条语句均会将值插入phone(电话)列,但第1条语句插入的是NULL值,第2条语句插入的是空字符串。第1种情况的含义可被解释为“电话号码未知”,而第2种情况的含义可被解释为“该人员没有电话,因此没有电话号码”。

为了进行NULL处理,可使用IS NULL和IS NOT NULL操作符以及IFNULL()函数。

在SQL中,NULL值与任何其它值的比较(即使是NULL)永远不会为“真”。包含NULL的表达式总是会导出NULL值,除非在关于操作符的文档中以及表达式的函数中作了其他规定。下述示例中的所有列均返回NULL:

mysql> SELECT NULL, 1+NULL, CONCAT('Invisible',NULL);
如果打算搜索列值为NULL的列,不能使用expr = NULL测试。下述语句不返回任何行,这是因为,对于任何表达式,expr = NULL永远不为“真”:

mysql> SELECT * FROM my_table WHERE phone = NULL;
要想查找NULL值,必须使用IS NULL测试。在下面的语句中,介绍了查找NULL电话号码和空电话号码的方式:

mysql> SELECT * FROM my_table WHERE phone IS NULL;
mysql> SELECT * FROM my_table WHERE phone = '';
更多信息和示例,请参见3.3.4.6节,“使用NULL值”。

如果你正在使用MyISAM、InnoDB、BDB、或MEMORY存储引擎,能够在可能具有NULL值的列上增加1条索引。如不然,必须声明索引列为NOT NULL,而且不能将NULL插入到列中。

用LOAD DATA INFILE读取数据时,对于空的或丢失的列,将用''更新它们。如果希望在列中具有NULL值,应在数据文件中使用\N。在某些情况下,也可以使用文字性单词“NULL”。请参见13.2.5 “LOAD DATA INFILE语法”。

使用DISTINCT、GROUP BY或ORDER BY时,所有NULL值将被视为等同的。

使用ORDER BY时,首先将显示NULL值,如果指定了DESC按降序排列,NULL值将最后显示。

对于聚合(累计)函数,如COUNT()、MIN()和SUM(),将忽略NULL值。对此的例外是COUNT(*),它将计数行而不是单独的列值。例如,下述语句产生两个计数。首先计数表中的行数,其次计数age列中的非NULL值数目:

mysql> SELECT COUNT(*), COUNT(age) FROM person;
对于某些列类型,MySQL将对NULL值进行特殊处理。如果将NULL插入TIMESTAMP列,将插入当前日期和时间。如果将NULL插入具有AUTO_INCREMENT属性的整数列,将插入序列中的下一个编号。
分享到:
评论

相关推荐

    Java API文档 中文网页版

    Java API文档是Java开发者的重要参考资料,它包含了Java开发工具包(JDK)中的所有类、接口、方法和常量的详细说明。这份中文网页版的Java API文档为中国的开发者提供了便利,无需通过英文版本来学习和查找API信息,...

    api-asn1-api-1.0.0-M20-API文档-中文版.zip

    赠送jar包:api-asn1-api-1.0.0-M20.jar; 赠送原API文档:api-asn1-api-1.0.0-M20-javadoc.jar; 赠送源代码:api-asn1-api-1.0.0-M20-sources.jar; 赠送Maven依赖信息文件:api-asn1-api-1.0.0-M20.pom; 包含...

    WebApi和访问WebApi两个项目

    WebApi和访问WebApi是开发过程中常见的两个概念,它们在构建分布式系统和提供网络服务时起着关键作用。本文将深入探讨这两个项目及其关联技术,包括WebApi的使用和通过HttpWebRequest类进行WebApi调用。 WebApi是...

    jQuery EasyUI 1.3.2 离线API简体中文版

    近期由于参与的一个Web系统项目前台使用了EasyUI作为Web解决方案,所以查了一下EasyUI的相关资料,发现离线的中文API不太多,而且版本都比较老,索性自己讲EasyUI官网给扣下来,然后做了翻译,文档是2月份过年的时候...

    validation-api-1.1.0.Final-API文档-中文版.zip

    赠送jar包:validation-api-1.1.0.Final.jar; 赠送原API文档:validation-api-1.1.0.Final-javadoc.jar; 赠送源代码:validation-api-1.1.0.Final-sources.jar; 包含翻译后的API文档:validation-api-1.1.0....

    jjwt-api-0.11.2-API文档-中文版.zip

    赠送jar包:jjwt-api-0.11.2.jar; 赠送原API文档:jjwt-api-0.11.2-javadoc.jar; 赠送源代码:jjwt-api-0.11.2-sources.jar; 赠送Maven依赖信息文件:jjwt-api-0.11.2.pom; 包含翻译后的API文档:jjwt-api-...

    java api最新7.0

    JAVA开发人员最新版本7.0 api文档!本文档是 Java Platform Standard Edition 7 的 API !Java 1.7 API的中文帮助文档。 深圳电信培训中心 徐海蛟博士教学用api 7.0中文文档。支持全文检索,在线即时查询。 里面列...

    api monitor 比较好的API监视工具

    API Monitor是一款功能强大的API监视工具,它被广泛用于软件开发者和系统管理员,以跟踪和调试应用程序与系统级接口之间的交互。这款工具适用于Windows操作系统,包括x86和x64架构,确保了对32位和64位程序的全面...

    nacos-api-1.2.0-API文档-中文版.zip

    赠送jar包:nacos-api-1.2.0.jar; 赠送原API文档:nacos-api-1.2.0-javadoc.jar; 赠送源代码:nacos-api-1.2.0-sources.jar; 赠送Maven依赖信息文件:nacos-api-1.2.0.pom; 包含翻译后的API文档:nacos-api-...

    vc++ api函数(Windows API大全)下载

    《VC++ API函数(Windows API大全)》是一本专注于探讨如何在VC++环境中利用Windows API进行程序开发的书籍。Windows API是微软操作系统提供的一系列函数接口,开发者可以通过这些接口实现与操作系统底层的交互,完成...

    grpc-api-1.24.0-API文档-中文版.zip

    赠送jar包:grpc-api-1.24.0.jar; 赠送原API文档:grpc-api-1.24.0-javadoc.jar; 赠送源代码:grpc-api-1.24.0-sources.jar; 赠送Maven依赖信息文件:grpc-api-1.24.0.pom; 包含翻译后的API文档:grpc-api-...

    C# WebApi实战项目Demo,便于快速学习WEBAPI

    C# WebApi实战项目Demo,便于快速学习WEBAPI, WebAPI: 提供给不同客户端(跨平台客户端)调用网页的应用程序编程接口。 Web API,一般指基于HTTP协议的编程接口,接口一般定义为HTTP或HTTPS:请求方法、请求路径、...

    javax.servlet-api-4.0.0-API文档-中文版.zip

    赠送jar包:javax.servlet-api-4.0.0.jar; 赠送原API文档:javax.servlet-api-4.0.0-javadoc.jar; 赠送源代码:javax.servlet-api-4.0.0-sources.jar; 赠送Maven依赖信息文件:javax.servlet-api-4.0.0.pom; ...

    易用api伴侣(易语言api伴侣助手易)

    现在学习易语言的人已经越来越多了,在学习和使用易语言的过程中总会或多或少的接触API函数,不过现存的API资料都是为其它语言服务的,所以在易语言使用API函数会有不便。本软件就是专为易语言编写的功能强大的API...

    nacos-api-2.0.4.RELEASE-API文档-中文版.zip

    赠送jar包:nacos-api-2.0.4.RELEASE.jar; 赠送原API文档:nacos-api-2.0.4.RELEASE-javadoc.jar; 赠送源代码:nacos-api-2.0.4.RELEASE-sources.jar; 赠送Maven依赖信息文件:nacos-api-2.0.4.RELEASE.pom; ...

    stax2-api-3.1.4-API文档-中英对照版.zip

    赠送jar包:stax2-api-3.1.4.jar; 赠送原API文档:stax2-api-3.1.4-javadoc.jar; 赠送源代码:stax2-api-3.1.4-sources.jar; 赠送Maven依赖信息文件:stax2-api-3.1.4.pom; 包含翻译后的API文档:stax2-api-...

    javax.servlet-api-4.0.1-API文档-中英对照版.zip

    赠送jar包:javax.servlet-api-4.0.1.jar; 赠送原API文档:javax.servlet-api-4.0.1-javadoc.jar; 赠送源代码:javax.servlet-api-4.0.1-sources.jar; 赠送Maven依赖信息文件:javax.servlet-api-4.0.1.pom; ...

    validation-api-2.0.1.Final-API文档-中文版.zip

    赠送jar包:validation-api-2.0.1.Final.jar; 赠送原API文档:validation-api-2.0.1.Final-javadoc.jar; 赠送源代码:validation-api-2.0.1.Final-sources.jar; 赠送Maven依赖信息文件:validation-api-2.0.1....

    jsr311-api-1.1.1-API文档-中文版.zip

    赠送jar包:jsr311-api-1.1.1.jar; 赠送原API文档:jsr311-api-1.1.1-javadoc.jar; 赠送源代码:jsr311-api-1.1.1-sources.jar; 赠送Maven依赖信息文件:jsr311-api-1.1.1.pom; 包含翻译后的API文档:jsr311-api...

    slf4j-api-1.7.26-API文档-中文版.zip

    赠送jar包:slf4j-api-1.7.26.jar; 赠送原API文档:slf4j-api-1.7.26-javadoc.jar; 赠送源代码:slf4j-api-1.7.26-sources.jar; 赠送Maven依赖信息文件:slf4j-api-1.7.26.pom; 包含翻译后的API文档:slf4j-api-...

Global site tag (gtag.js) - Google Analytics