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
      コンピュータ名・ドメイン変更


テーブルの結合(CROSS JOIN)



SELECT句により複数のテーブルを結合してデータを取得するには、通常JOIN句を利用します。
JOIN句にはINNER, LEFT OUTER, RIGHT OUTER, FULL OUTER, CROSSなどがありますが、
ここではCROSS JOINについて記述します。
CROSS JOIN は、対象となるテーブルの全ての組み合わせのデータを取得します。
なお、SELECT * FROM TABLE1, TABLE2のように、FROM句にテーブルを並べた場合も
CROSS JOINと同様の動きをします。


文法:SELECT <テーブル名1>.<列名1>, <テーブル名2>.<列名2>…
   FROM <テーブル名1>
   CROSS JOIN <テーブル名2>
   WHERE <抽出条件>


***例***
[社員マスタ]
所属コード 社員コード 氏名
01 001 テスト一郎
01 002 テスト二郎
02 001 テスト三郎
[所属マスタ]
所属コード 所属名
01 営業部
02 企画部


[実行SQL]
※下記では列名、テーブル名に別名を付けています。別名については「別名を付ける」を参照してください。
SELECT
  shain.所属コード AS 所属コード1,
  shain.社員コード,
  shain.氏名,
  shozoku.所属コード AS 所属コード2,
  shozoku.所属名
FROM
  社員マスタ shain
  CROSS JOIN 所属マスタ shozoku


[結果]
所属コード1 社員コード 氏名 所属コード2 所属名
01 001 テスト一郎 01 営業部
01 001 テスト一郎 02 企画部
01 002 テスト二郎 01 営業部
01 002 テスト二郎 02 企画部
02 001 テスト三郎 01 営業部
02 001 テスト三郎 02 企画部

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