例: FROM句の左外部結合 - Teradata Database - Teradata Vantage NewSQL Engine - 例: FROM句の左外部結合

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

次に、左外部結合の例を示します。外部結合を参照してください。この例では、skillsテーブルには各種の技能とそれに関連するコードがリストされています。empテーブルには従業員番号と技能コードがリストされています。

skills     emp  
skill_no skill_name   emp_no skill_no
1 baker   6123 1
2 doctor   6234 1
3 farmer   6392 3
4 lawyer   7281 5
5 mason   7362 4
6 tailor   6169 1

次の問合わせを使用して、従業員が登録されていない技能分野を確認することができます。

     SELECT skills.skill_name, emp.emp_no
     FROM skills LEFT OUTER JOIN emp ON skills.skill_no=emp.skill_no;

次の結果が返されます。nullは疑問符(?)文字として表示されることに注意してください。BTEQでは、このようにnullを報告します。BTEQの詳細については、<Basic Teradata® Queryリファレンス、B035-2414>を参照してください。

skill_name

----------

emp_no

------

baker 6123
baker 6234
baker 6169
doctor ?
farmer 6392
lawyer 7362
mason 7281
tailor ?

結果にすべての技能を含めるためには、外部結合を指定しなければなりません。以下の例のように単純なFROM句だけを使用した暗黙の結合では、nullの行は返されないため(つまり、対応する従業員がいない場合)、上の例ではdoctorまたはtailorはリストされません。

     …
     FROM employee, skills
     …