ユーザーとコメントの表があります。
users(id, name)
comments(id, user_id, content)
少なくとも 1 つの行が関連付けられている行のみを返す(効率的な)SELECT
ステートメントを探しています。users
comment
通常、SQL は簡単に実行できますが、現時点では理解できません。
それは次のように簡単です
SELECT DISTINCT id, name
FROM users u
INNER JOIN comments c ON u.id = c.user_ID
INNER JOIN
データをリンクしたユーザーのすべての行を検索しますcomments
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)