null值是未知数据的意思,不能进行关联匹配的;如果想显示那行数据,用union可以
解决方案 »
- mysql生产业务运行中,添加表表之间的外键会不会有问题?
- mysql效率问题
- LIMIT查询速度慢问题
- 我想用JDBC连接Mysql,哪个Mysql驱动放哪文件.请高人帮忙
- 如何在pgsql中获取最新插入的数据ID呢?如mysql中的LAST_INSERT_ID();
- 关于mysql 的btree索引(ACMAIN_CHM请进)
- 如何建立 mysql 数据,并导出为access数据库???
- 我的插入语句文本比较大,用phpmyadmin里的sql执行时,一会儿就失败了,怎么办?
- 急!在线等!如何获得mysql里所有的表!
- 求助关于存储过程中异常处理的问题
- C语言中用mysql_real_query调用source命令通过.sql导入建表信息的问题
- 求助,统计人数排序
我的意思是为什么第三笔记录,而且最后一个栏位的值是NULL
select a.*,b.* from a,b
得到的结果中有一行的记录是
NULL,'SHENZHEN',NULL,'WANGWU'?
上面那句执行后的结果应该是两个表关联后的笛卡尔表了吧?
再加个ON a.a1=b.a1,不应该是从笛卡尔表中获得一个子集?难道会再修改子集的结果?
在aa1表中的记录 ('NULL','SHENZHEN'), 在表aa2中找不到对应的记录。 楼主估计是误以为 ('NULL','WANGWU');和它匹配,但MYSQL或者计算机不这么认为。 不认为 NULL = NULL关于NULL的运算,可以参考一下文档中的说明。
产生笛卡尔集,并没有 a.a1=b.a1条件
在aa1表中的记录 ('NULL','SHENZHEN'), 在表aa2中找不到对应的记录。 楼主估计是误以为 ('NULL','WANGWU');和它匹配,但MYSQL或者计算机不这么认为。 不认为 NULL = NULL关于NULL的运算,可以参考一下文档中的说明。还是有不解,不好意思!我刚刚试过,MYSQL版本5.3.1
我在aa1.a1上创建了主键索引,NULL值自动被清空,我又重新UPDATE该笔记录为NULL,然后执行同样的语句
显示的结果第三笔的第四个栏位就是WANGWU?
意思是有索引和无索引时,NULL计算不一样?另外我在MYSQL5.5。13版本下,未建立索引时,执行的结果第四个栏位也是WANGWU……。
在aa1表中的记录 ('NULL','SHENZHEN'), 在表aa2中找不到对应的记录。 楼主估计是误以为 ('NULL','WANGWU');和它匹配,但MYSQL或者计算机不这么认为。 不认为 NULL = NULL关于NULL的运算,可以参考一下文档中的说明。谢谢,确实是误解了第三笔记录的产生,它应该是保留表aa1的记录+NULL,NULL产生的;不过我后来测试了发现更大困惑,详见上面描述。