SELECT (SQL)
SQL文では、以下の図式を用いることで部分一致検索が可能である。パターンマッチに用いられるワイルドカードには「%」(0文字以上)「 _ 」(1文字)がある。書式は以下の通りである。 WHERE 列名 LIKE '_A%'
ここではAの前に一文字、Aの後に0文字以上の値が選択される(たとえばJAPAN,CAROL,CASTLE,5Aなど)。
EXISTSはその値が存在するかを探索する演算子であり、存在する場合は真を返す。前述の例をEXISTSで記述する場合はこのようになる。
結果的に、INで記述した場合と同じ結果を示すことになるが、前述の例とは実行順序が異なっている。通常、副問合せを先に実行しその結果を使って主問合せを実行するが、後述の例の場合、副問合せ内で副問合せ内にない表(商品表)を参照しているので副問合せを先に実行できない。このように、そのFROM句にない表の列を参照する副問合せを「相関副問合せ」と言い、その場合は、主問合せの表の行ごとに副問合せが繰り返し実行される。ただし、その分パフォーマンスは低下してしまうため、実用上は前述の例のように記述した方がよい。