内容は殆ど質問の通りです。
SQLではなくActiveRecordを例にお話すると
例えば以下のようなリレーションのあるテーブル(モデルクラス)があるとします。
######Carテーブル
| id | carName |
|---|---|
| 1 | セダン |
| 2 | カローラ |
| 3 | レクサス |
Wheelテーブル
| id | carId | wheelName |
|---|---|---|
| 1 | 1 | 普通 |
| 2 | 3 | スタッドレス |
| 3 | 1 | スリック |
例えばjoin句はスタッドレスタイヤが属している車名が欲しい時にテーブルを結合させて使えたりするらしいですが。。。
車は多数の車輪を持ちうるので
has_many :wheels
belongs_to :car
というリレーションが張られているとして、
@car = Car.new @car.wheel
のような形でCarテーブルからwheelを参照出来ると思います。
このようにすればjoinを使わなくても他のテーブルを参照出来る気がするのですが、、、(逆にwheelモデルからcarモデルがこのように参照できるのかは分からないのですが、、)
今の所、join句が活きるのは例えば表にCarテーブルとWheelテーブルをくっつけて出力するくらいしかイメージがわかないです。
joinがどの様なときに多く使われるか教えて欲しいです。
使うタイミングが全くわかりません。。。よろしくお願い致します
回答3件
あなたの回答
tips
プレビュー

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/02 14:01