17.10 - 例: 別のテーブルからのパターンとの一致 - 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-1145-171K-JPN
Language
日本語 (日本)

次の形式のsubqueryは0から数個の値を返すことができます。

expr [ NOT ] LIKE quantifier (subquery)

次の例は、別のテーブルから選択したパターンを使用して突合わせを行なう方法を示しています。

基本テーブルは、2つあります。

テーブル 定義されている内容
Project
  • 固有のプロジェクトID
  • プロジェクトの説明
Department_Proj プロジェクトIDのパターンとDepartmentとの関連

Department_Projには、2つの列があります。つまり、Proj_patternとDepartmentです。このテーブルの行は、次のとおりです。

Proj_pattern Department
AP% Finance
AR% Finance
Nut% R&D
Screw% R&D

次の問合わせは、LIKEを使用してDepartment_Projテーブルから選択したパターンを突き合わせ、Department_Projテーブルに定義されているように、Finance部署に関連するプロジェクト パターンと一致するProj_Idを持っているProjectテーブル内のすべての行を選択します。

   SELECT * 
   FROM Project
   WHERE Proj_Id LIKE ANY
    (SELECT Proj_Pattern 
     FROM Department_Proj
     WHERE Department = 'Finance');

次の形式を使用した場合、subqueryは、式のリスト内の数と同じ数の式を選択しなければなりません:

( expr [,...] ) [ NOT ] LIKE quantifier (subquery)

例:

   (x,y) LIKE ALL (SELECT a,b FROM c)

これは、次と等しくなります。

   (x LIKE c.a) AND (y LIKE c.b)