SQLでFizzBuzz!
少し遅くなりましたが、あけましておめでとうございます。
新年明けて間もなく2週間経とうとしているのに・・・今年の目標はまだ決まってません(汗)
でも、去年の秋ぐらいからSQLにはまったので、とりあえず今年はそれをマスターできればなと思っています。
なので、その第一歩としてやってみました・・・
SQLでFizzBuzz!
データベース定義
CREATE TABLE FizzBuzz( Number INTEGER NOT NULL PRIMARY KEY, Answer VARCHAR(8) NOT NULL );
FizzBuzzを挿入(必要な回数分だけ)
INSERT INTO FizzBuzz SELECT Number, (CASE WHEN MOD(Number, 15) = 0 THEN 'FizzBuzz' WHEN MOD(Number, 5) = 0 THEN 'Buzz' WHEN MOD(Number, 3) = 0 THEN 'Fizz' ELSE Number END) AS Answer FROM (SELECT (COUNT(*) + 1) AS Number FROM FizzBuzz) AS Temp;
結果を確認
SELECT * FROM FizzBuzz ORDER BY Number;
実行結果
Number | Answer |
---|---|
1 | 1 |
2 | 2 |
3 | Fizz |
4 | 4 |
5 | Buzz |
6 | Fizz |
7 | 7 |
8 | 8 |
9 | Fizz |
10 | Buzz |
11 | 11 |
12 | Fizz |
13 | 13 |
14 | 14 |
15 | FizzBuzz |
整数の集合を作れれば、何回もINSERTする必要がなかったんですが思いつかず orz
精進していきたいと思います・・・。
ちなみに。
終了後に検索してみたら、意外とやっている方がいっぱいいてびっくりしました。
SQL FizzBuzz - Google 検索