2011-08-18 41 views
0

想象一下兩個表,它們都有一個將兩個表連接在一起的公共ID字段。mysql查詢顯示所有不加入的內容:)

讓我們稱他們爲Table1和Table2。

表1在字段ID上連接了表2。

如何得到表2的結果都會有一個ID是

+0

你最後一句話被切斷。 –

回答

1

猜你需要的一個,這些

SELECT * FROM table1 JOIN LEFT table2 ON table1.id=table2.id WHERE table2.id IS NULL 

SELECT * FROM table1 JOIN LEFT table2 ON table1.id=table2.id WHERE table2.id IS NOT NULL 
1
select * from Table2 where ID not in (select ID from Table1) 

select * from (select * from Table1 right join Table2 on Table1.ID = Table2.ID) where foo is NULL 

其中foo必須從表1列不表2中存在,並永遠不能爲null在表1。

編輯:哎呦,你可以實際使用的ID作爲富,只要你用表名來限定它:

select * from Table1.ID right join Table2.ID where Table1.ID is NULL 

如這裏解釋: http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_orig.jpg

也很有趣: http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html