これまでの記事では、単独のテーブルを操作してきましたが、ここでは、複数のテーブルを利用していきます。
リレーショナルデータベースではこれが最大の特徴になります。
最小限の情報で構成されたテーブル同士を組み合わせることで、そこから様々な意味ある情報を創りだしていきます。
それらのデータを分析して、企業の戦略などに活用することこそが、データベースの真の目的です。
複数のテーブルのレコードをあわせて表示 UNION
複数のテーブルのデータを1つにまとめて表示することができます。
その場合、UNIONを使います。
例えば、去年の顧客マスターと今年の顧客マスターをまとめて表示したいような場合に利用します。
それぞれの列のデータ型は基本的に一致している必要があります。
また、同一のレコードが存在する場合には、デフォルトでDISTINCTされ、重複が除かれて表示されます。
もし、重複も含めてすべて表示したい場合には、UNIONに続けてALLを指定します。
【書式】複数のテーブルのレコードをあわせて表示する
SELECT 列名 FROM テーブル名 UNION DISTINCT | ALL SELECT 列名 FROM テーブル名;
【ヒント】条件指定をして抽出結果を合わせて表示する
UNIONで複数のテーブルのデータを結合する際に、指定した条件のレコードのみを結合するには、WHEREに条件を付けて指定をします。
次の例は、[kokyaku_master]テーブルの[address]列の値が「東京都」のデータと[kokyaku_master_2016]テーブルの[address]列の値が「東京都」のデータを合わせて表示しています。
このように、異なるテーブル同士を結合するにはUNIONを使います。
テーブルの結合と結合キー
リレーショナルデータベースではデータの正規化を行い、複数のテーブルにデータを分けて管理します。
複数のテーブルからデータを取り出すためには、テーブル同士の結合を行う必要があります。
結合キーとは
テーブルを結合する時に、行と行を結びつけるための鍵となる値のこと
この時、表1のように、テーブル内の結合キーが一意でなく、その値を手がかりとして他のテーブルから値を取り出すために使われる、結合キーのことを「外部キー」と呼びます。
また、結合キーの値が決まることで、テーブル内のレコードが特定される表2の場合には、結合キーはテーブルにとっての「主キー」であるといえます。
内部結合と外部結合
テーブルの結合は、基本的に「内部結合」と「外部結合」の2種類に分けることができます。
参考図書
LINE公式アカウント
仕事が辛くてたまらない人生が、仕事が楽しくてたまらない人生に変わります。
【登録いただいた人全員に、無料キャリア相談プレゼント中!】