問:如果我有兩張表加在一起,我想從第一張表中得到(*)
,我的意思是第一張表的所有字段。有沒有在查詢中寫入所有字段名稱的情況下選擇第一個表的方法?
我應該寫查詢中第一個表的所有字段名稱嗎?或者有什麼方法可以從第一個表中選擇*。
問:如果我有兩張表加在一起,我想從第一張表中得到(*)
,我的意思是第一張表的所有字段。有沒有在查詢中寫入所有字段名稱的情況下選擇第一個表的方法?
我應該寫查詢中第一個表的所有字段名稱嗎?或者有什麼方法可以從第一個表中選擇*。
你不應該列出所有的領域,見例如:
SELECT DISTINCT t1.*
from T1
join t2 on condition
first_table.*
應該做的伎倆。
聽起來更像是semi join。考慮重寫例如
SELECT DISTINCT T1.*
FROM T1 JOIN T2 ON T1.id = T2.id;
可以考慮添加`DISTINCT`關鍵字被重新寫爲
SELECT *
FROM T1
WHERE id IN (SELECT id FROM T2);
。 – onedaywhen 2012-01-16 09:36:18
@onedaywhen yep,thanx。當然最好使用EXISTS而不是JOIN – 2012-01-16 09:51:34