在一个很偶然的场景下,我看到了一个关于数据库中间件的SQL测试,对比测试的内容大体是对于一条查询语句的输出。看到输出结果,虽然结果是客观的,但是我总是感觉缺少了些什么,于是做了下测试。
为了简化起见,我们把测试场景做到至简。创建两张表,就1个字段,4行记录,来说明下JOIN的一些问题和隐患。
但凡不是太懒的话,这个场景都可以很快实现的。
mysql> create table test1(id int);
mysql> create table test2(id int)
mysql> insert into test2 values(1),(2),(2),(3)
mysql> insert into test1 values (1),(2),(2),(3);
和我们预期的一样,这2张表的输出就是4行记录。
mysql> select *from test1;
+------+
| id |
+------+
| 1 |
| 2 |
| 2 |
| 3 |
+------+
4 rows in set (0.00 sec)
数据情况是完全一样的。
mysql> select *from test2;