Kata Practice - Even or Odd (SQL)

Kata Practice - Even or Odd (SQL)

這個系列會把自己練習過的 Kata 題目記錄下來,希望除了記錄的性質以外也能夠觀察自己撰寫程式邏輯的進化過程。如果有幸看到這邊的話也可以參考一下,再到 Codewars 的網站註冊一個帳號試著玩看看,自己蠻喜歡整個網站的得分和排行榜設定,會讓人越寫越有成就感喔!

題目

You will be given a table numbers, with one column number.

Return a dataset with two columns: number and is_even, where number contains the original input value, and is_even containing “Even” or “Odd” depending on number column values.

自己的解法

1
2
3
4
5
6
SELECT number,
CASE WHEN number % 2 = 0
THEN 'Even'
ELSE 'Odd'
END AS is_even
FROM numbers

解題脈絡

這次想說好久沒有練習 SQL 了,所以從最簡單的 8 kyu 開始試著寫看看,但是忘了快精光哈哈哈,所以最後直接出動 Claude 幫忙解題。

其他人的解法

1
2
3
4
5
6
7
ALTER TABLE numbers
ADD COLUMN IF NOT EXISTS is_even VARCHAR(4);

UPDATE numbers SET is_even = 'Even' WHERE number%2 = 0;
UPDATE numbers SET is_even = 'Odd' WHERE number%2 != 0;

SELECT * FROM numbers;

選擇記錄這個解法的原因

選了一個比較沒有那麼直觀跟自己想不太到的辦法,但還是覺得自己的解答比較合適。

觀念釐清

問了 claude 得到解答後,開始有想起一些功能跟 keywords ,不過難保下一次練習的時候還記不記得。

那我們就下次見ʘ‿ʘ

評論