WHERE (user_id = 17 OR user_id IS NULL) AND name = "menu_items"
そして、残りのクエリをクリーンアップするだけです:
id 定義された設定で存在する必要はありません。preference_idの組み合わせキーを使用してください およびuser_id 代わりに。
idの場合 preferencesの preference_idという名前でした 、長いON ステートメントはUSING(preference_id)に置き換えることができます
IF 関数はCOALESCE(defined_value, default_value)に置き換えることができます