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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-171K-JPN
Language
日本語 (日本)

次に、左外部結合の例を示します。外部結合を参照してください。この例では、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
     …