SQL3−9)JOIN

ここではJOINについて説明します。JOINと言うのは表結合の事で、複数の表を結合し一つの表としてデータを扱うことが可能になります。明確に言うと、ここでいうJOINとは複数の表のデータの共通部分を一つのフィールドと考えて、そのフィールドを元に一つの表としてデータを扱うことです。

ではEMPとDEPTの表を見てみましょう。どちらの表にもDEPTNOと言うフィールドがありますね。この二つの表の共通部分DEPTNOを使って、EMP表のENAMEとJOB、それに伴ったDEPT表のLOCATIONを一度に取り出してみましょう。書式はこうです。

SELECT ename, job, loc FROM emp, dept WHERE emp.deptno=dept.deptno

FROMの後には参照する二つの表と、条件には必ず二つの表の共通フィールドを=でつなぎます。このときemp.deptno(表名(ドット)フィールド)と言うのはemp表のdeptnoという意味です。

ではもう一つ例を挙げてみましょう。

SELECT ename, job, emp.deptno, loc FROM emp, dept WHERE emp.deptno=dept.deptno AND loc=’DALLAS’;

ここでは分かりやすいようにdeptnoを出してみましたが、deptnoというフィールドは二つあるのでただdeptnoと書くとエラーになるので、一つに絞らなければなりません。それで上で書いたようにemp.deptno(empの表のdeptno)とします。

このように複数の表の共通フィールドを元にそれぞれの表のレコードを一致させることをJOINといいます。

←SQL3−8へ  目次へ