mysql select * from student where age not in(23,24) 会把age等于null的数据筛选掉吗
在 MySQL 中,使用 NOT IN 子句进行筛选时,如果 age 字段包含 NULL 值,它不会被包括在查询结果中。这是因为在 SQL 中,与 NULL 进行比较时会得到未知(UNKNOWN)的结果,而不是 true 或 false。
因此,如果你执行以下查询:
SELECT * FROM student WHERE age NOT IN (23, 24);
那么将不会包括 age 字段为 NULL 的行。如果你希望包括 NULL 值,可以使用 IS NULL 来检查:
SELECT * FROM student WHERE age NOT IN (23, 24) OR age IS NULL;
这样可以确保包括 age 为 NULL 的行在结果中。
mysql select * from student where age!=23 会把age等于null的数据筛选掉吗
在 MySQL 中,使用!=操作符来筛选数据时,如果age字段包含NULL值,它也会被排除在结果之外。这是因为在SQL中,与NULL进行比较时会得到未知(UNKNOWN)的结果,而不是true或false。
因此,如果你执行以下查询:
SELECT * FROM student WHERE age != 23;
那么将不会包括age字段为NULL的行。如果你希望包括NULL值,可以使用IS NULL来检查:
SELECT * FROM student WHERE age != 23 OR age IS NULL;
这样可以确保包括age为NULL的行在结果中。