外部のデータ(DBに入っていないマスタとか)をSQLで使いたいけど、新規テーブルを作る権限がないときの一つの方法です。
WITH test AS(
SELECT
X1, X2, X3
FROM (VALUES
(1, 2, 3),
(4, 5, 6),
(7, 8, 9)
) AS v(X1, X2, X3)
)
SELECT *
FROM test
やっていること
・VALUES句で読み込ませたいデータを書く。
・書いたデータをSELECTで取り出して、test という名前で WITH句に入れる。
・WITH句で作ったものからデータを取り出す。
これで任意のデータを読み込めて、JOIN などができます。
注意
・0から始まる文字列は VALUESだと 0 が消えてしまうので、他の方法を取る必要があります(郵便番号など)。どこかで記事としてまた書きます。