圧倒的我流なんであれなんですけど
・全部小文字(shift押すの面倒だから)
・キーワードは全部左寄せ、中身はインデント揃える
・短いなら1行で、長くなるなら改行
・joinの条件も改行してインデント
・条件式は基本的に1行1つ
・接続詞は前に持ってくる、演算子を前に持ってくるのといっしょ
select id from user where id = 1;
select
u.id,
u.name,
case
when u.gender = 1 then 'male'
when u.gender = 2 then 'female'
else 'unknown' end as gender,
coalesce(g.name, 'free') as group_name,
array_to_string(array((
select name
from product
where user_id = u.id
), ',') as product_names,
(
select sum(sales)
from product
where user_id = u.id
) as total_sales
from
user u
left outer join group g
on g.id = u.group_id
and g.is_deleted = false
where
id = 1
and u.is_deleted = false
order by
u.created_at desc
limit 10