我有一个用户和评论表:
users(id, name)
comments(id, user_id, content)
我正在寻找一个(高效的)SELECT
语句,它只会返回那些至少有一个users
与之关联的comment
行。
通常我可以轻松地进行SQL,但目前我无法理解它。
答案 0 :(得分:2)
就像
一样简单SELECT DISTINCT id, name
FROM users u
INNER JOIN comments c ON u.id = c.user_ID
INNER JOIN
查找用户在comments
答案 1 :(得分:1)
INNER JOIN
将完成这项工作。在select语句中添加DISTINCT
的原因是因为它只返回唯一的用户记录,并且用户可能在comments
表上有多条记录。
SELECT DISTINCT a.*
FROM users a
INNER JOIN comments b
ON a.id = b.user_ID
要进一步了解联接,请访问以下链接:
答案 2 :(得分:1)
SELECT u.*
FROM users u
where u.id in (select id from comments where id=u.id)