ActiveRecordのmergeメソッドについて

ActiveRecordでテーブルのjoinをする場合以下のように書くと思います。

User.joins(:auth_providers).all.where(auth_providers: { provider: 'facebook' })

発行されるSQLは次のようになります。


SELECT "users".* FROM "users" INNER JOIN "auth_providers" ON "auth_providers"."user_id" = "users"."id" WHERE "auth_providers"."provider" = 'facebook'

これとは別にmergeメソッドを使う書き方もあります。
まずはモデルにscropを定義します。

class AuthProvider < ActiveRecord::Base
  belongs_to :user

  scope :facebook, -> { where(provider: 'facebook') }
  scope :developer, -> { where(provider: 'developer') }
end

でこのscopeとmergeメソッドを使って書くと次のようになります。

 User.joins(:auth_providers).all.merge(AuthProvider.facebook)

で、発行されるSQLは次のようになります


SELECT "users".* FROM "users" INNER JOIN "auth_providers" ON "auth_providers"."user_id" = "users"."id" WHERE "auth_providers"."provider" = 'facebook'

同じになりますね。
最初に書いた方のやり方で「.where(auth_providers: { provider: 'facebook' })」と書いているところをmergeメソッドで「.merge(AuthProvider.facebook)」で書くかどうかとういう話ですが、mergeメソッドを使った方が短く書けるから良い気もします。
皆様はどうでしょか?