MySQL全连接(Full Join)实现
2013-07-07 20:21
435 查看
MySQL本身不支持你所说的full join(全连接),但可以通过union来实现 ,
下面是一个简单测试,可以看看:
mysql> CREATE TABLE a(id int,name char(1));
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE TABLE b(id int,name char(1));
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO a VALUES(1,'a'),(2,'b');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> INSERT INTO b VALUES(2,'b'),(3,'c');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM a LEFT JOIN b ON a.id=b.id
-> UNION
-> SELECT * FROM a RIGHT JOIN b ON a.id=b.id;
+------+------+------+------+
| id | name | id | name |
+------+------+------+------+
| 1 | a | NULL | NULL |
| 2 | b | 2 | b |
| NULL | NULL | 3 | c |
+------+------+------+------+
3 rows in set (0.00 sec)
mysql>
参考:http://www.artfulsoftware.com/infotree/queries.php
下面是一个简单测试,可以看看:
mysql> CREATE TABLE a(id int,name char(1));
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE TABLE b(id int,name char(1));
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO a VALUES(1,'a'),(2,'b');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> INSERT INTO b VALUES(2,'b'),(3,'c');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM a LEFT JOIN b ON a.id=b.id
-> UNION
-> SELECT * FROM a RIGHT JOIN b ON a.id=b.id;
+------+------+------+------+
| id | name | id | name |
+------+------+------+------+
| 1 | a | NULL | NULL |
| 2 | b | 2 | b |
| NULL | NULL | 3 | c |
+------+------+------+------+
3 rows in set (0.00 sec)
mysql>
参考:http://www.artfulsoftware.com/infotree/queries.php
相关文章推荐
- MySQL全连接(Full Join)实现,union和union all用法
- Mysql实现全连接FULL OUTER JOIN
- Mysql实现全连接FULL OUTER JOIN
- Mysql 连接(left join, right join, inner join ,full join)
- mysql的full join的实现
- Mysql实现full join的替换方法
- mysql不支持full join的另一种解决办法 和根据多个表中的相同分组来连接查询
- mysql多表连接查询inner/left/right/full/cross join
- mysql实现full outer join
- mysql多表连接查询inner join, left join , right join ,full join ,cross join
- MySQL不支持 full outer join,如何做全连接
- MySQL Full Join的实现
- Mysql 连接(left join, right join, inner join ,full join)
- MySQL Full Join的实现
- mysql实现ssl主从安全连接案例
- oracle 内连接(inner join)、外连接(outer join)、全连接(full join)
- powerdesigner通过ODBC连接MySQL实现逆向工程
- Python3连接MySQL(pymysql)模拟转账实现代码
- SQL表连接查询(inner join、full join、left join、right join)
- java实现mysql操作类分享 java连接mysql