コマンドを学ぼう: リンク(J=結合,O=外部)

結合リンク(J)や外部結合リンク(O)は、照会リンク同様に、位置付けで指定したデータを取り出すという目的で使います。
従って、使用方法は照会リンクと同じです。
但し、使えるのは、SQL系のDBMSに対してのみなので、Pervasvie.SQLでは使えません。
OracleやMS_SQL_Serverで使うことができます。

照会リンクと異なるのは、自動変換されるSQL文です。
照会リンクでは、メインテーブルとリンクテーブルとで、別々のSELECT文が発行されますが、 結合リンクや外部結合リンクでは、一つのSELECT文にまとめられます。

サーバで結合処理が実施されるので、高速化が期待できるという考え方もありますが、 リンク数が多いとSELCET文が複雑化してしまうので、逆に遅くなってしまうかもしれません。

また、結合リンクでは、リンク成功(位置付けデータが存在する場合)のときだけデータが返されます。
メインテーブルのレコードは存在しても、リンクデータが無ければ、メインテーブルのレコードも取り出すことはできません。
それに対して、外部結合リンクでは、リンク失敗のときでもメインテーブルのレコードを取り出すことができます。
つまり、外部結合リンクは照会リンクと同じ結果になります。