假設我們有如下表T1和T2:MySQL的:左派的聯盟加入與右連接
t1:
id | column_1
-------------
1 | 1
2 | 2
t2:
id | column_2
-------------
2 | 2
3 | 3
,我們希望找到以下結果:
id | column_1 | column_2
------------------------
1 | 1 |
2 | 2 | 2
3 | | 3
這基本上是右連接與左連接的結合。下面的代碼工作,但感覺笨拙:
(
SELECT t1.id, t1.column_1, t2.column_2
FROM t1
LEFT JOIN t2 ON t1.id = t2.id
)
UNION
(
SELECT t2.id, t1.column_1, t2.column_2
FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
)
有沒有更好的方法來實現這一目標?
這裏的表,如果你想嘗試一下: CREATE TABLE IF NOT EXISTS't1'( 'id' INT(11)NOT NULL, 'column_1' INT( 11)NOT NULL ); (1,1), (2,2);插入到't1'('id',' CREATE TABLE IF NOT EXISTS't2'( 'id' int(11)NOT NULL, 'column_2' int(11)NOT NULL ); (2,2), (3,3);插入到't2'('id','column_2')值 – 2009-09-17 19:25:31