例: FROM句の左外部結合 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.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
     …