

# `UNNEST` を使用して配列をフィルタリングする
<a name="filtering-with-unnest"></a>

ネスト構造を含む配列を、そのいずれかの子要素でフィルタ処理するには、`UNNEST` 演算子を使用してクエリを発行します。`UNNEST` の詳細については、「[ネスト配列のフラット化](flattening-arrays.md)」を参照してください。

例えば、このクエリは、データセット内のサイトのホスト名を見つけます。

```
WITH dataset AS (
  SELECT ARRAY[
    CAST(
      ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN))
    ),
    CAST(
      ROW('news.cnn.com', ROW(false)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN))
    ),
    CAST(
      ROW('netflix.com', ROW(false)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN))
    )
  ] as items
)
SELECT sites.hostname, sites.flaggedActivity.isNew
FROM dataset, UNNEST(items) t(sites)
WHERE sites.flaggedActivity.isNew = true
```

返される結果は次のとおりです。

```
+------------------------+
| hostname       | isnew |
+------------------------+
| aws.amazon.com | true  |
+------------------------+
```