【内部結合】Inner Joinを利用してデータを取得する方法

目次

内部結合とは

ABAPにおける内部結合(Inner Join)は、複数のテーブルを共通キーに基づいて結合し、必要なデータをまとめて取得するための命令です。

基本的には SELECT 文と組み合わせて使用し、指定した2つのテーブルの間で結合条件を満たすレコードを抽出します。

内部結合のイメージを図示すると、結合部分だけを取り出しているように考えるとわかりやすいでしょう。

基本構文(Inner Joinの基本)


2つのテーブルを内部結合する場合、基本的な構文は以下のとおりです。

SELECT COLUMNS
  FROM TABLEA
  INNER JOIN TABLEB ON
    TABLEA~COLUMNS = TABLEB~COLUMNS
  INTO TABLE @INNER_TABLE.

ON 句の直後に結合先のテーブルを指定し、その次に結合条件を記述します。

3つのテーブルを内部結合する方法

続いて、3つのテーブルを内部結合する例を見てみましょう。

たとえば、テーブルAとテーブルBは「COLUMNS1」で結合し、テーブルAとテーブルCは「COLUMNS2」で結合するケースを想定します。

SELECT COLUMNS1,
       COLUMNS2
  FROM TABLEA
  INNER JOIN TABLEB ON
    TABLEA~COLUMNS1 = TABLEB~COLUMNS1
  INNER JOIN TABLEC ON
    TABLEA~COLUMNS2 = TABLEC~COLUMNS2
  INTO TABLE @INNER_TABLE.


結合したいテーブルの数だけ INNER JOIN と結合条件を追加していけば、複数のテーブルを同時に結合できます。


INTO TABLE で指定するテーブル変数の直前に @ をつける記法は ABAP 7.4 以降で導入されたもので、最新の構文に対応しています。

まとめ

  • 内部結合を使う際は、まず2テーブルでの基本的な構文を押さえましょう。
  • 複数テーブルを結合する場合は、結合するテーブルとその条件をひとつずつ追加していくイメージです。
  • 実際の開発では、WHERE 句なども組み合わせて条件がより複雑になることがよくありますが、今回紹介したポイントを理解しておけば対応しやすくなります。


以上がABAPでの内部結合(Inner Join)の基本的な使い方です。複数テーブルを結合して効率的にデータを取得したいときに、ぜひ活用してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次