SUBSET行関数は、同じデータ型の2つのセットを入力とし、2番目のセットが最初のセットのサブセットである場合(にのみ)trueのブール値を返します。
SUBSET(<set1>, <set2>)ここで、
SUBSET(A, B)BがAのサブセットの場合(にのみ)SUBSETの結果はtrueです。
SUBSET({ }, { }) = TRUE SUBSET({ 1, 2, 3 }, { }) = TRUE SUBSET({ 1, 2 }, { 1, 2 }) = TRUE SUBSET({ 1, 2, 3 }, { 1, 2 }) = TRUE SUBSET({ 1, 3, 5 }, { 1, 2 }) = FALSE SUBSET({ 1, 2 }, { 'x', 'y', 'z' }) yields a checking error because the two sets are not of the same data type
空のセットは常に、他のすべてのセット(空のセットも含む)のサブセットになります。
RETURN results AS SELECT WineID AS id, SUBSET(Body, Flavors) AS subAttrs FROM WineState WHERE WineID < 5 ORDER BY id
id subAttrs ------------- | 1 | true | | 2 | true | | 3 | false | | 4 | false | -------------
結果を見ると、レコード1および2ではFlavorsセットがBodyセットのサブセットになっていますが、レコード3および4ではサブセットになっていません。