WHERE (user_id = 17 OR user_id IS NULL) AND name = "menu_items"
Dan hanya untuk membersihkan sisa kueri:
id
dalam preferensi yang ditentukan tidak perlu ada di sana, gunakan kunci gabungan preference_id
dan user_id
sebagai gantinya.
Jika id
dari preferences
diberi nama preference_id
, ON
long yang panjang pernyataan bisa diganti dengan USING(preference_id)
IF
fungsi dapat diganti dengan COALESCE(defined_value, default_value)