我有用戶和評論的表:選擇具有通過多個相關聯的其他元素的所有行加入
users(id, name)
comments(id, user_id, content)
我要找的(有效)SELECT
聲明,將只返回users
-rows具有在至少有一個comment
與它們相關聯。
通常我可以很容易地執行SQL,但目前我無法擺脫困境。
我有用戶和評論的表:選擇具有通過多個相關聯的其他元素的所有行加入
users(id, name)
comments(id, user_id, content)
我要找的(有效)SELECT
聲明,將只返回users
-rows具有在至少有一個comment
與它們相關聯。
通常我可以很容易地執行SQL,但目前我無法擺脫困境。
就這麼簡單
SELECT DISTINCT id, name
FROM users u
INNER JOIN comments c ON u.id = c.user_ID
INNER JOIN
發現所有行在中鏈接數據的用戶
INNER JOIN
將完成這項工作。之所以在select語句中添加DISTINCT
是因爲它只會返回唯一的用戶記錄,並且用戶可能在comments
表中有多條記錄。
SELECT DISTINCT a.*
FROM users a
INNER JOIN comments b
ON a.id = b.user_ID
爲了進一步獲得更多的知識有關加入,請訪問以下鏈接:
SELECT u.*
FROM users u
where u.id in (select id from comments where id=u.id)
這不就是一個正常的連接,也沒有任何意見提取用戶嗎? – Lanbo 2013-03-08 13:34:19
一個'INNER JOIN'只返回在這兩個表中存在用戶ID的行。 – JodyT 2013-03-08 13:41:07