2012-07-07 58 views

回答

0

如果可以,最好避免子查詢。 INNER JOIN將只返回符合連接條件的行。

SELECT DISTINCT 
    x.id 
FROM 
    table_x x 
    INNER JOIN table_y y ON (x.id = y.id_column_in_y) 
1

你會使用一個左連接。更多解釋和例子在這裏。

Visual Joins

2

也許你可以這樣做:

SELECT id FROM table_x WHERE id NOT IN (SELECT column_foo FROM table_y); 
4
SELECT id FROM x 
    WHERE NOT EXISTS (SELECT * FROM y WHERE foo = id) 

或者

SELECT id FROM x 
    WHERE id NOT IN (SELECT foo FROM y) 

或者,如果y.foo是不是空的列,你甚至可以這樣做:

SELECT x.id FROM x 
    LEFT JOIN y ON x.id = y.foo 
    WHERE y.foo IS NULL 
相關問題