logo
     

メニュー
↓ SQL ↓
データ取得の基本(SELECT)

取得条件の指定(WHERE)

計算式を利用する

取得データの並べ替え
      (ORDER BY)


別名を付ける

データを集計(グループ化)する

テーブルの結合
      (INNER JOIN)


テーブルの結合
      (OUTER JOIN)


テーブルの結合
      (CROSS JOIN)


重複行の排除(DISTINCT)

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

⇒相関副問い合わせ
      (相関サブクエリ)

クエリの結合

文字列値を連結する

文字列の一部を取り出す

文字列を置換する

NULLを置き換える

条件によって置き換える

↓SQL Server 2012 Express↓
SQL Server 2012 Express
      インストール


SQL Server 2012 Express
      ネットワークの構成


SQL Server 2012 Express
      ログインユーザの作成


SQL Server 2012 Express
      データベースの作成


SQL Server 2012 Express
      テーブルの作成


SQL Server 2012 Express
      SQLの実行


復旧モデルとバックアップ

↓ 番外編 ↓
Windows Server 2012 評価版
      インストール


Windows Server 2012
      スタートメニュー利用方法


Windows Server 2012
      シャットダウン・再起動方法


Windows Server 2012
      サーバーマネージャ自動起動無効


Windows Server 2012
      コンピュータ名・ドメイン変更


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



副問い合わせのSELECT文で主問い合わせのテーブルの列を参照するものを
相関副問い合わせ(相関サブクエリ)といいます。
また、特に自テーブルと結合した相関副問い合わせを
自己相関副問い合わせ(自己相関サブクエリ)といいます。


***例1(相関サブクエリ)***
例1では、売上表から単価が100円以上のデータを取得します。

[売上表]
商品名 売上数量 売上金額
りんご 3 300
みかん 8 960
ぶどう 10 500
[商品単価]
商品名 単価
りんご 100
みかん 120
ぶどう 50


[実行SQL]
SELECT
  *
FROM
  売上表
WHERE
  (SELECT
    単価
  FROM
    商品単価
  WHERE
    売上表.商品名 = 商品単価.商品名
  ) >= 100


[結果]
商品名 売上数量 売上金額
りんご 3 300
みかん 8 960


***例2(自己相関サブクエリ)***
例2では、売上表から売上数量が同商品売上の平均以上のデータを取得します。

[売上表]
売上日 商品名 売上数量 売上金額
2013/01/01 りんご 3 300
2013/01/01 みかん 8 960
2013/01/01 ぶどう 10 500
2013/01/02 りんご 5 500
2013/01/02 みかん 2 240
2013/01/02 ぶどう 12 600
2013/01/02 バナナ 1 200
2013/01/03 みかん 5 600
2013/01/03 バナナ 1 200


[実行SQL]
SELECT
  U1.*
FROM
  売上表 U1
WHERE
  U1.売上数量 >= (SELECT
            AVG(U2.売上数量)
          FROM
            売上表 U2
          WHERE
            U1.商品名 = U2.商品名
          )


[結果]
売上日 商品名 売上数量 売上金額
2013/01/01 みかん 8 960
2013/01/02 りんご 5 500
2013/01/02 ぶどう 12 600
2013/01/02 バナナ 1 200
2013/01/03 みかん 5 600
2013/01/03 バナナ 1 200

<<PR>> ネットワークセキュリティを見直しませんか
価格:300円
現役SEが語るSEの仕事あれこれ-これから就職を希望する人へ-
価格:300円