内容は殆ど質問の通りです。
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