我有兩個表這樣的下面,MySQL:選擇未被標記的頁面?
頁表
pg_id title
1 a
2 b
3 c
4 d
標記表中的分貝
tagged_id pg_id
1 1
2 4
我要選擇這些標籤的頁面,我嘗試用下面的查詢但不起作用,
SELECT *
FROM root_pages
LEFT JOIN root_tagged ON (root_tagged.pg_id = root_pages.pg_id)
WHERE root_pages.pg_id != root_tagged.pg_id
它返回零 - Showing rows 0 - 1 (2 total, Query took 0.0021 sec)
但我想它返回
pg_id title
2 b
3 c
我的查詢一定是錯了嗎?
如何返回未正確標記的頁面?
我同意它更清楚,但它通常使用NOT EXISTS的速度較慢(在MySQL中,並非一般)。如果你這樣做,你最好選擇一個字段或一個常量值而不是`*`。 – GolezTrol 2011-02-09 23:33:59