SQL クイズ: GROUP BY と COUNT(*) -- 問題編
ちょっと趣向を変えて SQL クイズでも出してみます。以下のテーブルがあるとき、変数に代入した COUNT(*) の結果はどうなるでしょうか。意外と驚く結果になるかもしれません。
SELECT * FROM Employee /* EmployeeID EmployeeName CountryID ----------- ------------- ---------- E001 山田 C001 E002 鈴木 C004 E003 中村 C001 E004 山本 C001 */
DECLARE @ret1 int SET @ret1 = 999 SELECT @ret1 = COUNT(*) FROM Employee SELECT @ret1 -- 出力される結果数字は何?
DECLARE @ret2 int SET @ret2 = 999 SELECT @ret2 = COUNT(*) FROM Employee WHERE EmployeeID = N'E999' SELECT @ret2 -- 出力される結果数字は何?
DECLARE @ret3 int SET @ret3 = 999 SELECT @ret3 = COUNT(*) FROM Employee WHERE EmployeeID = N'E999' GROUP BY EmployeeID SELECT @ret3 -- 出力される結果数字は何?
解答は明日にでも。それでは。