IN式では、メンバーシップ・テストが実行されます。
IN式で対処できるユース・ケースとは、注目するセットを指定してから、そのセットに含まれる、または含まれない属性を持つレコードをフィルタリングするというものです。これが役に立つのは、HAVING式やPAGE式と組み合せる場合です。
IN式は、ターゲット文が指定した状態を参照している場合サポートされます。この場合のルールとして角カッコ内には式が1つのみで、これがターゲット状態の主キーに対して一致されます。式は、状態のフィルタリングされたレコード・セット(フィルタリングされていないものではなく)に対して評価されることに注意してください。
[expr1, expr2, …] IN StatementName
[expr] IN StatementName
この状態の構文の理由は、状態には、フィルタリングするコレクション同様、常に単一キー属性があるため、それらを参照するIN式は角カッコ内に式を1つのみ含む必要があるということです。
セットはIN式でサポートされることに注意してください。指定したいずれかの文のグループ・キーが設定されている場合、角カッコ内の対応する式は同じ型のセットである必要があります。
DEFINE HighValueCust AS SELECT SUM(SalesAmount) AS Value FROM SaleState GROUP BY CustId HAVING Value>10000 ; RETURN Top_HVC_Products AS SELECT COUNT(1) AS NumSales FROM SaleState WHERE [CustId] IN HighValueCust GROUP BY ProductName ORDER BY NumSales DESC PAGE(0,10)