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

MYSQL中在select时对NULL值的发现

阅读更多
MYSQL中,在select时对两个同为NULL值的字段竟然不匹配。记录一下。



drop table if exists test1 ;
create table test1
(
	id int (11),
	name char(20)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 ;

drop table if exists test2 ;
create table test2
(
	id int (11),
	name char(20)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 ;

insert into test1 values( 1,'javaliujie' ) ;
insert into test1 values( 2,NULL ) ;
insert into test1 values( 3,NULL ) ;
insert into test1 values( 4,'' ) ;
insert into test1 values( 5,'' ) ;

insert into test2 values( 1,'javaliujie' ) ;
insert into test2 values( 2,NULL ) ;
insert into test2 values( 3,NULL ) ;
insert into test2 values( 4,NULL ) ;
insert into test2 values( 5,'' ) ;


mysql> select * from test1,test2 where test1.id=test2.id and test1.name=test2.name ;
+------+------------+------+------------+
| id   | name       | id   | name       |
+------+------------+------+------------+
|    1 | javaliujie |    1 | javaliujie |
|    5 |            |    5 |            |
+------+------------+------+------------+
2 rows in set (0.00 sec)






分享到:
评论

相关推荐

    Mysql实现null值排在最前/最后的方法示例

    我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是 ...

    关于sql中求平均值出现null值的解决方案

    因此,当你在SQL中对包含null的列执行AVG函数时,结果也会是null,这可能并不是我们期望的结果。本文将详细探讨这个问题,并提供几种解决策略。 首先,我们需要理解SQL中的NULL概念。NULL并不等同于零或空字符串,...

    详解MySQL中的NULL值

    在MySQL数据库中,`NULL`值是一个特殊的存在,表示数据未知或者不存在。处理`NULL`值时,需要注意一些特定的规则和操作符。本篇文章将深入解析MySQL中的`NULL`值及其相关的查询方法。 首先,当尝试使用`= NULL`或`!...

    MYSQL SELECT INTO 和 INSERT INTO SELECT

    我们想要将`Table1`中的数据复制到`Table2`中,并且在复制时添加一个新的列`d`,其值统一设为5。可以使用如下SQL语句: ```sql INSERT INTO Table2 (a, c, d) SELECT a, c, 5 FROM Table1; ``` 执行后,`Table2`中...

    MySQL NULL 值处理实例详解

    我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是NULL,...

    MySQL Left JOIN时指定NULL列返回特定值详解

    当右表的某些字段在LEFT JOIN后为NULL时,我们可以利用函数来将这些NULL值替换为特定值,如0或其他有意义的值。在MySQL中,有几种方法可以实现这一目标,包括IFNULL、COALESCE以及IF函数。 首先,让我们深入了解...

    MySQL里的IFNULL、NULLIF和ISNULL用法

    用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下:  mysql中isnull,ifnull,nullif的用法如下:  isnull(expr) 的用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。...

    MySQL NULL 值处理

    我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是 ...

    用SELECT… INTO OUTFILE语句导出MySQL数据的教程

    在MySQL中,SELECT… INTO OUTFILE语句是一个非常实用的功能,用于将查询结果直接导出到服务器主机上的文件。这个语句将数据以特定的格式保存,方便进行数据备份、迁移或者进一步处理。以下是关于使用SELECT… INTO ...

    MySQL数据库中SELECT语句快速精细掌握

    `DISTINCT`和`DISTINCTROW`用于去除查询结果中的重复行,但它们不区分NULL值。`ALL`关键字是默认选项,不改变结果集,因为默认情况下SELECT就包括所有行,包括重复行。 `INTO OUTFILE`或`INTO DUMPFILE`将查询结果...

    mysql各种语句多表查询+ mysql视图 mysql数据库管理+ select语句+ 创建

    在本教程中,我们将深入探讨MySQL中的多种查询语句,包括多表查询、视图、数据库管理、SELECT语句以及创建表等核心概念。 首先,让我们从多表查询开始。在实际应用中,往往需要从多个相关表中获取信息,这就需要...

    mysql字符串拼接并设置null值的实例方法

    将表中last_name和first_name中的字符串拼接 select concat(last_name,first_name) as 姓名 from employees; #只会修改last_name不会修改first_name SELECT first_name,last_name AS f FROM employees; #将两个...

    MySQL数据库考试试题及答案-34页

    在本文中,我们将对 MySQL 数据库考试试题及答案进行详细的解析,并总结出相关的知识点。 1.数据库聚合函数 在 MySQL 中,聚合函数用于对数据进行汇总和计算。 SUM 函数用于计算数据的总和,MAX 函数用于取得最大...

    MySql中的IFNULL、NULLIF和ISNULL用法详解

    在MySQL数据库中,处理NULL值是一项常见的任务,尤其是在进行数据查询和处理时。本文将详细介绍三个用于处理NULL值的关键函数:IFNULL、NULLIF和ISNULL。 首先,`ISNULL()`函数用于检查一个表达式是否为NULL。如果...

    MySQL中文参考手册.chm

    8.4.4.6 NULL值操作 8.4.4.7 模式匹配 8.4.4.8 行计数 8.4.5 使用多个数据库表 8.5 获得数据库和表的信息 8.6 以批处理模式使用mysql 8.7 从"双胞项目"中查询 8.7.1 找出...

    详解mysql不等于null和等于null的写法

    本篇文章将详细介绍在MySQL中如何正确地查询`NULL`值以及空字符。 1. **理解NULL的概念** `NULL`在MySQL中不是代表一个空字符串或者零,而是一个特殊的标记,表示字段没有值。在比较时,`NULL`不能直接与其他任何...

    mysql SELECT FOUND_ROWS()与COUNT()用法区别1

    在MySQL数据库中,`SELECT FOUND_ROWS()` 和 `COUNT(*)` 都是用来获取数据表中记录数量的方法,但它们之间存在一些关键的区别。了解这些差异对于优化查询性能和满足特定需求至关重要。 首先,`COUNT(*)` 是一个标准...

    MySQL中对于NULL值的理解和使用教程

    NULL值的概念是造成SQL的新手的混淆的普遍原因,他们经常认为NULL是和一个空字符串”的一样的东西。不是这样的!例如,下列语句是完全不同的: ...在SQL中,NULL值在于任何其他值甚至NULL值比较时总是假的(FALSE)。包

    mysql中将null值转换为0的语句

    以下是对如何在MySQL中将`NULL`值转换为0的详细解释。 在给出的代码中: ```sql SELECT IF(AVG(cai.conversionsRate) IS NULL, 0, AVG(cai.conversionsRate)) AS conversionsRate FROM campaign_info cai WHERE ...

Global site tag (gtag.js) - Google Analytics