sql

MODEL句の使用

MODEL句というのは、Oracle10gから使えるSELECT文の機能です。認知度が極端に低いです。 簡単な例 - テーブルの値を書き換えるだけ with dt as( SELECT '1' ID, 'JP' Country, '1000' Costs, '1' Timeline FROM DUAL UNION ALL SELECT '2' ID, 'JP' Country,…

Fizz-Buzz問題 Oracle SQL版

どこかにも投稿したネタですが、Fizz-Buzz問題のOracle SQL版の回答です。 select nvl( decode(mod(level, 3), 0, 'Fizz') || decode(mod(level, 5), 0, 'Buzz'), level) from dual connect by level <= 100

こんなのでも通るのか

こんなのでも通るのね〜 select level from dual connect by level <= 999999999999999999999999999999999999999949999999999999999999999999999999999999999999999999999999999999999999999999999999999999

曲線を描くSQL

このSQLを実行すると曲線があらわれます: select lpad('#', sqrt(level) * abs(cos(level)), '=') from dual connect by level <= 10000 ビビッドな方が好きなら: select lpad('#', sqrt(level) * 0.7 * (cos(level * 0.1) + 1.0), '=') from dual connect…

Hierarchical Queryの簡単な例

Hierarchical Query(階層的クエリ)は、親と子など階層的データを持ったテーブルからデータを取り出す際に使用すると便利なクエリです。(裏技的な用途として、何もないところから10000行並んだテーブルを取得したりできます。)簡単な例を以下に記しました。…