外部結合について(2)


ITコーディネータのシュウです。 IMG_0412

前回紹介したさきたま古墳のそばに、古代蓮の里という公園(行田市の天然記念物であり市の花である「古代蓮(行田蓮)」をシンボルとする公園)があり、そこに行った時の写真です。6月下旬から8月上旬にかけて42種類12万株の花蓮を見ることができるということですが、花弁の数が少ない原始的な形態を持つ行田蓮は、約1400~3000年前の蓮であると言われています。 午前中、正午くらいまでが見ごろのようですよ! 何か神秘的な雰囲気もあり、結構きれいですね。

<本日の題材> 外部結合について(SQL Server 編) 前回実施した外部結合の内容を、SQL Server2012でも試してみましたので、報告します。

EMP表(従業員表)とDEPT表(部署表)をDEPTNOを条件として外部結合する例です。

1.左外部結合: LEFT [OUTER] JOIN の例 ([OUTER]は省略可能)

SELECT E.empno, E.ename, E.job, D.dname, D.deptno FROM dbo.EMP E LEFT OUTER JOIN dbo.DEPT D ON E.deptno = D.deptno ORDER BY E.empno;

外部結合1_sqlserver

2.右外部結合: RIGHT [OUTER] JOIN の例

SELECT E.empno, E.ename, E.job, D.dname, D.deptno FROM dbo.DEPT D RIGHT OUTER JOIN dbo.EMP E ON D.deptno = E.deptno ORDER BY E.empno;

外部結合1_sqlserver

3.完全外部結合: FULL [OUTER] JOIN

SELECT E.empno, E.ename, E.job, D.dname, D.deptno FROM dbo.EMP E FULL OUTER JOIN dbo.DEPT D ON E.deptno = D.deptno ORDER BY E.empno;

完全外部結合_sqlserver

SQL Server2012でも同様な内容を確認しました。ちなみに、SQL Server2000の頃は、外部結合は *= という演算子を使っていましたが、データベースの互換性レベル(モード)が90以上ではこの演算子はサポートされなくなっていますね。 Oracleも昔は (+) というのを使用していましたが。。。

今日は以上まで

 

にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>