

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Dalam kondisi
<a name="in_condition-spark"></a>

INKondisi menguji nilai untuk keanggotaan dalam satu set nilai atau dalam subquery. 

## Sintaksis
<a name="in_condition-synopsis"></a>

```
expression [ NOT ] IN (expr_list | table_subquery)
```

## Pendapat
<a name="in_condition-arguments"></a>

 *ekspresi*   
Ekspresi numerik, karakter, atau datetime yang dievaluasi terhadap *expr\_list atau table\_subquery dan harus kompatibel dengan tipe data daftar* *atau subquery* tersebut. 

 *expr\_list*   
Satu atau lebih ekspresi yang dibatasi koma, atau satu atau lebih kumpulan ekspresi yang dibatasi koma yang dibatasi oleh tanda kurung. 

 *table\_subquery*   
Subquery yang mengevaluasi tabel dengan satu atau lebih baris, tetapi terbatas hanya satu kolom dalam daftar pilihannya. 

DI \| TIDAK DI   
IN mengembalikan true jika ekspresi adalah anggota dari daftar ekspresi atau query. NOT IN mengembalikan true jika ekspresi bukan anggota. IN dan NOT IN mengembalikan NULL dan tidak ada baris yang dikembalikan dalam kasus berikut: Jika *ekspresi* menghasilkan null; atau jika tidak ada nilai *expr\_list atau *table\_subquery** yang cocok dan setidaknya satu dari baris perbandingan ini menghasilkan null. 

## Contoh
<a name="in_condition-examples"></a>

Kondisi berikut benar hanya untuk nilai-nilai yang tercantum: 

```
qtysold in (2, 4, 5)
date.day in ('Mon', 'Tues')
date.month not in ('Oct', 'Nov', 'Dec')
```

## Optimalisasi untuk Daftar IN Besar
<a name="in_condition-optimization-for-large-in-lists"></a>

Untuk mengoptimalkan kinerja kueri, daftar IN yang mencakup lebih dari 10 nilai dievaluasi secara internal sebagai array skalar. Daftar IN dengan nilai kurang dari 10 dievaluasi sebagai serangkaian predikat OR. Optimalisasi ini didukung untuk tipe data SMALLINT, INTEGER, BIGINT, REAL, DOUBLE PRECISION, BOOLEAN, CHAR, VARCHAR, DATE, TIMESTAMP, dan TIMESTAMPTZ. 

Lihatlah output EXPLOW untuk kueri untuk melihat efek dari pengoptimalan ini. Contoh: 

```
explain select * from sales
QUERY PLAN
--------------------------------------------------------------------
XN Seq Scan on sales  (cost=0.00..6035.96 rows=86228 width=53)
Filter: (salesid = ANY ('{1,2,3,4,5,6,7,8,9,10,11}'::integer[]))
(2 rows)
```