お試しクエリにも便利なVALUES構築子
VALUES構築子はINSERT文以外でも使えます(SQL-99から)。
SELECT
*
FROM
(VALUES
(1, 'Alice')
, (2, 'Bob')
, (3, 'Carol')
) AS users
(id, name)
id | name |
---|---|
1 | Alice |
2 | Bob |
3 | Carol |
もちろん、JOINすることもできます。
SELECT
users.id
, users.name
, comments.comment
FROM
(VALUES
(1, 'Alice')
, (2, 'Bob')
, (3, 'Carol')
) AS users
(id, name)
LEFT OUTER JOIN
(VALUES
(1, 'Hello')
, (3, 'World')
) AS comments
(user_id, comment)
ON users.id = comments.user_id
id | name | comment |
---|---|---|
1 | Alice | Hello |
2 | Bob | NULL |
3 | Carol | World |
UPDATEやDELETEはできないものの、一時テーブルを作らずに済むので楽です。
データ型はどうなるの?
SQL Serverで値の情報を調べるには、SQL_VARIANT_PROPERTY関数を使います。
SELECT
*
, SQL_VARIANT_PROPERTY(id, 'BaseType') id_type
, SQL_VARIANT_PROPERTY(name, 'BaseType') name_type
FROM
(VALUES
(1, 'Alice')
, (2, 'Bob')
, (3, 'Carol')
) AS users
(id, name)
id | name | id_type | name_type |
---|---|---|---|
1 | Alice | int | varchar |
2 | Bob | int | varchar |
3 | Carol | int | varchar |
値に応じて、適当なデータ型が与えられるようです。
Author And Source
この問題について(お試しクエリにも便利なVALUES構築子), 我々は、より多くの情報をここで見つけました https://qiita.com/D-Three/items/62db5e03b9425f1ecb25著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .