例: 別のテーブルからのパターンとの一致 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL関数、式、および述部

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/djk1612415574830.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1145
Product Category
Software
Teradata Vantage

次の形式の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)