「ジャック」という名前のプレーヤーの ID と、彼らがプレイしたゲームの数を見つけようとしています。
Select p.id, count(*) as numOfGamePlayed
from player p, game g
where p.name = 'Jack' and p.id = g.id
group by p.id;
問題は、これは、少なくとも 1 つのゲームをプレイしたことのある Jack という名前のプレイヤーのみをリストすることです。ゲームをまったくプレイしていない人もリストにするにはどうすればよいですか?
編集: それらのプレーヤーの場合、numOfGamePlayed は 0 でなければなりません。
Select p.id, count(*) as numOfGamePlayed
from player p LEFT JOIN game g ON p.id = g.id
where p.name = 'Jack'
group by p.id;
ゲームをまったくプレイしていない場合でも、numOfGamePlayed は 1 として表示されます。