xxマスタを引用してTableを作る時は xxコードマスタを引用するのですが
ア:
Select T.CODE
, (select name from xxMASTER where CODE = T.CODE) NAME
from
TranData T
と書くのと
イ
Select T.CODE, M.NAME
FROM TranData T
,xxMASTER M
Where T.CODE=M.CODE
の大きく2分されるかと思います。(その他は無視しますゴメン)
コスト重視と可読性の比較になろうかと思うのでずか、規約で規定されてないプロジェクトも結構あるようで、同じプロジェクト内でも混在してたりします。
アとイの意味はパット見て理解できるので、どちらでも好いのかなと思いますが。(コスト面は無視してます)
コードマスタを一本で構築にID値で使い分けている時などは違いがはっきりと出ます。
ウ:
Select T.C1_CODE
,(select name from xxMASTER where CODE = T.C1_CODE) C1_NAME
,T.C2_CODE
,(select name from xxMASTER where CODE = T.C2_CODE) C2_NAME
,T.C3_CODE
,(select name from xxMASTER where CODE = T.C3_CODE) C3_NAME
,T.C4_CODE
,(select name from xxMASTER where CODE = T.C4_CODE) C4_NAME
from
TranData T
エ:
Select T.C1_CODE, C1.NAME C1_NAME, T.C2_CODE, C2.NAME C2_NAME , T.C3_CODE,C3.NAME C3_NAME, T.C4_CODE, C4.NAME C4_NAME
FROM TranData T
,(select * from CD_MAST where CODE_KBN = 'JSH') C1
,(select * from CD_MAST where CODE_KBN = 'SOH') C2
,(select * from CD_MAST where CODE_KBN = 'ZEI') C3
,(select * from CD_MAST where CODE_KBN = 'PEI') C4
Where T.C1_CODE=C1.CODE
and T.C2_CODE=C2.CODE
and T.C3_CODE=C3.CODE
and T.C4_CODE=C4.CODE
ウが好きな人も居ますしエが好きな人もいますので、どちらにすべきだと断言はし難いのでが、私としてはウを好むのです。
上から下への一読でソースが読めるのでコメントなしでも意図が掴めます。
エだと同一テーブルを複数個エイリアス定義して使いまわししている感があり、読みにくいです。
コスト面で速度計測しようとしましたが、少量だったので報告するに耐えられる差がでませんでした。私が扱っているデータ量ではどちらも同じようでした。
アナライザ計測して効率面で分析すれば差がでそうですが、私の感性では ウが理解しやすかったです。
プロジェクト内では統一するの良と思いますが、始めに規定しておかないと、後からの統一は難しいですね。