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 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是 ...
因此,当你在SQL中对包含null的列执行AVG函数时,结果也会是null,这可能并不是我们期望的结果。本文将详细探讨这个问题,并提供几种解决策略。 首先,我们需要理解SQL中的NULL概念。NULL并不等同于零或空字符串,...
在MySQL数据库中,`NULL`值是一个特殊的存在,表示数据未知或者不存在。处理`NULL`值时,需要注意一些特定的规则和操作符。本篇文章将深入解析MySQL中的`NULL`值及其相关的查询方法。 首先,当尝试使用`= NULL`或`!...
我们想要将`Table1`中的数据复制到`Table2`中,并且在复制时添加一个新的列`d`,其值统一设为5。可以使用如下SQL语句: ```sql INSERT INTO Table2 (a, c, d) SELECT a, c, 5 FROM Table1; ``` 执行后,`Table2`中...
我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是NULL,...
当右表的某些字段在LEFT JOIN后为NULL时,我们可以利用函数来将这些NULL值替换为特定值,如0或其他有意义的值。在MySQL中,有几种方法可以实现这一目标,包括IFNULL、COALESCE以及IF函数。 首先,让我们深入了解...
用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下: mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。...
我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是 ...
在MySQL中,SELECT… INTO OUTFILE语句是一个非常实用的功能,用于将查询结果直接导出到服务器主机上的文件。这个语句将数据以特定的格式保存,方便进行数据备份、迁移或者进一步处理。以下是关于使用SELECT… INTO ...
`DISTINCT`和`DISTINCTROW`用于去除查询结果中的重复行,但它们不区分NULL值。`ALL`关键字是默认选项,不改变结果集,因为默认情况下SELECT就包括所有行,包括重复行。 `INTO OUTFILE`或`INTO DUMPFILE`将查询结果...
在本教程中,我们将深入探讨MySQL中的多种查询语句,包括多表查询、视图、数据库管理、SELECT语句以及创建表等核心概念。 首先,让我们从多表查询开始。在实际应用中,往往需要从多个相关表中获取信息,这就需要...
将表中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 数据库考试试题及答案进行详细的解析,并总结出相关的知识点。 1.数据库聚合函数 在 MySQL 中,聚合函数用于对数据进行汇总和计算。 SUM 函数用于计算数据的总和,MAX 函数用于取得最大...
在MySQL数据库中,处理NULL值是一项常见的任务,尤其是在进行数据查询和处理时。本文将详细介绍三个用于处理NULL值的关键函数:IFNULL、NULLIF和ISNULL。 首先,`ISNULL()`函数用于检查一个表达式是否为NULL。如果...
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`值以及空字符。 1. **理解NULL的概念** `NULL`在MySQL中不是代表一个空字符串或者零,而是一个特殊的标记,表示字段没有值。在比较时,`NULL`不能直接与其他任何...
在MySQL数据库中,`SELECT FOUND_ROWS()` 和 `COUNT(*)` 都是用来获取数据表中记录数量的方法,但它们之间存在一些关键的区别。了解这些差异对于优化查询性能和满足特定需求至关重要。 首先,`COUNT(*)` 是一个标准...
NULL值的概念是造成SQL的新手的混淆的普遍原因,他们经常认为NULL是和一个空字符串”的一样的东西。不是这样的!例如,下列语句是完全不同的: ...在SQL中,NULL值在于任何其他值甚至NULL值比较时总是假的(FALSE)。包
以下是对如何在MySQL中将`NULL`值转换为0的详细解释。 在给出的代码中: ```sql SELECT IF(AVG(cai.conversionsRate) IS NULL, 0, AVG(cai.conversionsRate)) AS conversionsRate FROM campaign_info cai WHERE ...