ques1。sqlのwhere句は集計関数(sum、avg、max、min)では使用できませんか?
ques2。列を含むcustという名前のテーブルを検討します:orderno、custid、cost
select * from cust having cost> avg(cost)
avg(cost)は出力5695を提供します。したがって、コストが5695を超えるため、3つのレコードが出力に含まれるはずです。ただし、1つだけが出力されます。一方、このクエリ:
select * from cust having cost>(select avg(cost) from cust)
なぜ正しい出力を与えるのですか?