問題一覧に戻る
中級高度なデータベース
問題43: JOIN操作 - joins/includes

Railsのjoinsとincludesの違いを学習します。joinsはフィルタリングやクエリのためにSQL JOINを実行し、includesはN+1クエリを防ぐために関連をeager loadします。それぞれをいつ使うかを理解することは、効率的なデータベースクエリを書くために重要です。

# 著者名で投稿をフィルター
Post.(:author).where(users: { name: 'Alice' })

# コメントをeager load
Post.(:comments).limit(10)

# joinsとwhereを組み合わせ
Post.joins(:).where(categories: { name: 'Ruby' })

# 複数の関連をインクルード
Post.includes(:author, :)