SQLServerの副問合せを使ってテーブルの変りをする

SQLServerに限らずどのデータベースでも「副問い合わせ(サブクエリ)」を使うことができます。

今回は副問合せ(サブクエリ)を使ってテーブルの変りを実現してみます。

スポンサーリンク

SQLの副問い合わせ(サブクエリ)とは

SQLの副問い合わせ(サブクエリ)とは、SELECTした結果を別のSQLで使うことを言います。

副問い合わせ(サブクエリ)は

  • SELECT
  • INSERT
  • UPDATE
  • DELETE

で使うことができます。

副問合せ(サブクエリ)を使ってテーブルの変りを実現

副問合せ(サブクエリ)を使ってテーブルの変りを実現するには「from句」を副問合せ(サブクエリ)にします。

SELECT
    CASE WHEN a.gender = 0 THEN 'female' ELSE 'male' END AS 性別
FROM
    (
        SELECT 0 AS gender
        UNION    ALL SELECT 1 AS gender
        UNION    ALL SELECT 0 AS gender
        UNION    ALL SELECT 1 AS gender
    ) AS a
WHERE
    a.gender = 1
ORDER BY
性別

実行結果は

性別
male
male

になります。

当たり前ですね。

これまでは記事のためのサンプルSELECTを書くのにいちいちテーブルをCREATEして、データをINSERTして、最後にテーブルをDROPしたりしてましたが、簡単なデータならばこの方法で十分ですね。

タイトルとURLをコピーしました