次のテーブルから、少なくとも 2 つの製品を注文した顧客を取得したいと考えています。テーブルは次のとおりです。
Customer(Id, Name, City),
Product(Id, Name, Price),
Orders(Customer_Id, Product_Id, Date)
クエリを使用します
select c.*
from customer c
join orders o on o.customer_id = c.id
group by c.id
having count(o.customer_id) >= 2
期待される結果を返しますが、 を に置き換えてJOIN
もLEFT JOIN
同じ結果が得られます。で規定されているように、Customer テーブルのすべての行が返されるわけではありませんLEFT JOIN
。この機会にの機能がLEFT JOIN
制限されるのはなぜですか? 試合の結果と左の表にのみ表示される結果を区別できない人がいるという事実のためですか?