WHERE (user_id = 17 OR user_id IS NULL) AND name = "menu_items"
Og bare for at rydde op i resten af forespørgslen:
id
i de definerede præferencer behøver ikke at være der, brug en kombineret nøgle af preference_id
og user_id
i stedet.
Hvis id
af preferences
blev navngivet preference_id
, den lange ON
sætning kunne erstattes med USING(preference_id)
IF
funktion kan erstattes med COALESCE(defined_value, default_value)