メイン >> データベース勉強部屋
データベースの試験で必須のSQL構文と言えばJOINでしょう。 INNER JOIN とOUTER JOINの動作の違いもよく尋ねられます。しっかりと押さえておきましょう。
構文:SELECT A.field1, A.field2, B.field2 FROM table1 A INNER JOIN table2 B
ON A.field2 = B.field1
意味:table1のfield1,field2 およびtable2のfield2の内容を表示する。table1とtable2はtable1のfield2とtable2のfield1が一致する行で
結合される
INNER JOIN の場合はON句によって結合されたtable1のレコードとtable2のレコードがともに存在する場合のみ結果が表示されます。
INNER JOIN をLEFT OUTER JOINに変えると、table1のレコードに結合されるtable2のレコードが存在しない場合でも、表示されます。
(その場合は、table2のフィールドにはNULLが入ります)
LEFTというのは、JOIN句の左側にあるテーブル(ここではtable1)を基軸にして表示するということです。
逆にRIGHT OUTER JOINとすれば、table2が基軸となり、table2にあり、それに結合されるレコードがtable1にない場合も表示されることに
なります。