1

ユーザーとコメントの表があります。

users(id, name)
comments(id, user_id, content)

少なくとも 1 つの行が関連付けられている行のみを返す(効率的な)SELECTステートメントを探しています。userscomment

通常、SQL は簡単に実行できますが、現時点では理解できません。

4

3 に答える 3

2

それは次のように簡単です

SELECT DISTINCT id, name 
FROM users u
INNER JOIN comments c ON u.id = c.user_ID

INNER JOINデータをリンクしたユーザーのすべての行を検索しますcomments

于 2013-03-08T13:21:18.967 に答える
1

INNER JOINその仕事をします。select ステートメントに が追加された理由DISTINCTは、一意のユーザー レコードのみが返され、ユーザーがcommentsテーブルに複数のレコードを持っている可能性があるためです。

SELECT  DISTINCT a.*
FROM    users a
        INNER JOIN comments b
            ON a.id = b.user_ID

結合についてさらに詳しく知りたい場合は、以下のリンクにアクセスしてください。

于 2013-03-08T13:20:04.280 に答える
1
SELECT  u.*
FROM    users u
where u.id in (select id from comments where id=u.id)
于 2013-03-08T13:21:29.097 に答える