SELECT "exams".* FROM "exams" INNER JOIN "students" ON "students"."id" = "exams"."student_id" ArelでJOIN句をつくる モデル側に has_many/belongs_toが定義されていない場合であっても、以下のようにArelを使っておなじSQLを作成でき、おなじ結果を得ることができます。 # Exam.joins(:student) とおなじ Exam.joins( Exam.arel_table.join(Student.arel_table). on(Student.arel_table[:id].eq(Exam.arel_table[:student_id]). join_sources ) Exam.joins と Exam.arel_table.join と似通ったものがごちゃごちゃ