Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Dalam kondisi
Kondisi IN menguji nilai keanggotaan dalam satu set nilai atau dalam subkueri.
Sintaksis
expression [ NOT ] IN (expr_list | table_subquery)
Argumen
- ekspresi
-
Ekspresi numerik, karakter, atau datetime yang dievaluasi terhadap expr_list atau table_subquery dan harus kompatibel dengan tipe data daftar atau subkueri tersebut.
- expr_list
-
Satu atau lebih ekspresi dipisahkan koma, atau satu atau lebih kumpulan ekspresi dipisahkan koma yang dibatasi oleh tanda kurung.
- tabel_subquery
-
Suatu subkueri yang mengevaluasi ke tabel dengan satu atau lebih baris, tetapi terbatas hanya pada satu kolom dalam daftar pilihannya.
- DI | TIDAK MASUK
-
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
Kondisi berikut hanya berlaku untuk nilai-nilai yang tercantum:
qtysold in (2, 4, 5) date.day in ('Mon', 'Tues') date.month not in ('Oct', 'Nov', 'Dec')
Optimasi untuk Daftar IN Besar
Untuk mengoptimalkan kinerja kueri, daftar IN yang mencakup lebih dari 10 nilai dievaluasi secara internal sebagai larik skalar. Daftar IN dengan nilai kurang dari 10 dievaluasi sebagai serangkaian predikat OR. Optimasi ini didukung untuk tipe data SMALLINT, INTEGER, BIGINT, REAL, DOUBLE PRECISION, BOOLEAN, CHAR, VARCHAR, DATE, TIMESTAMP, dan TIMESTAMPTZ.
Lihatlah output EXPLAIN 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)