MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/25 おすすめ情報に 『 【案件】Azure AD関連の認証設計/azureの基本設計 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


SQLデータベース結合の種類
profile-img
投稿者: Nakamaさん
投稿日:2021/09/08 13:07
更新日:
like-img
分類
技術
テクノロジー
その他
キャリア
運用・保守
投稿内容
今回はデータベース結合の種類についてご紹介していきます。

SQL上で複数のテーブルからデータを参照したい場合、テーブル結合を使用します。結合には、主に5つの種類があり、それぞれの用途に応じて、使い分けされています。

【内部結合】
 内部結合は、複数テーブルの結合条件に一致したもののみを結合する方法です。innerは、省略可能となります。

 基本構文 : select (テーブル名.)カラム名 from テーブル1 inner join テーブル2 on テーブル2.カラム名 = テーブル1.カラム名
 # テーブル1にテーブル2を内部結合

例)結合条件をユーザーテーブルの都道府県番号と都道府県テーブルに指定


【左(右)外部結合】
 優先されるテーブルを指定して結合する方法です。優先されるテーブルの全レコードが表示され、そのレコードに一致するものを結合されたテーブルから表示させます。

 基本構文 : select (テーブル名.)カラム名 from テーブル1 left(right) outer join テーブル2 on テーブル2.カラム名 = テーブル1.カラム名
 # テーブル1にテーブル2を外部結合。leftの場合、テーブル1が優先(Rightなら、テーブル2が優先)

例)ユーザーテーブルの都道府県番号と都道府県テーブル左外部結合
  #都道府県テーブルに設定されていない、「4」はNull(空白)として表示される


【完全外部結合】
 結合する両方のテーブルが優先となり、結合条件の一致の有無にかかわらずレコードすべてを取得する方法です。

 基本構文 : select (テーブル名.)カラム名 from テーブル1 full join テーブル2 on テーブル2.カラム名 = テーブル1.カラム名

例)ユーザーテーブルの都道府県番号と都道府県テーブル完全外部結合


【交差結合】
 両方のテーブルのデータのすべての組み合わせを表示する方法です。実務においては、現在あまり使われることはありません。

 基本構文 : select (テーブル名.)カラム名 from テーブル1 cross join テーブル2 on テーブル2.カラム名 = テーブル1.カラム名

例)ユーザーテーブルの都道府県番号と都道府県テーブル交差結合


以上、データベース結合の種類についてでした。
ご参考いただけると幸いです。

■参考資料
https://sql-oracle.com/sqlserver/?p=1109
https://www.dbonline.jp/mysql/join/index4.html
コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3