次の形式のsubqueryは0から数個の値を返すことができます。
expr [ NOT ] LIKE quantifier (subquery)
次の例は、別のテーブルから選択したパターンを使用して突合わせを行なう方法を示しています。
基本テーブルは、2つあります。
テーブル | 定義されている内容 |
---|---|
Project |
|
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)