

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# PILIH daftar
<a name="r_SELECT_list"></a>

**Topics**
+ [Sintaksis](#r_SELECT_list-synopsis)
+ [Parameter](#r_SELECT_list-parameters)
+ [Catatan penggunaan](#r_SELECT_list_usage_notes)
+ [Contoh](#r_SELECT_list-examples)

Daftar SELECT menamai kolom, fungsi, dan ekspresi yang ingin Anda kembalikan dari kueri. Daftar ini mewakili output kueri. 

Untuk informasi selengkapnya tentang fungsi SQL, lihat[Referensi fungsi SQL](c_SQL_functions.md). Untuk informasi selengkapnya tentang ekspresi, lihat[Ekspresi bersyarat](c_conditional_expressions.md).

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

```
SELECT
[ TOP number ]
[ ALL | DISTINCT ] * | expression [ AS column_alias ] [, ...]
```

## Parameter
<a name="r_SELECT_list-parameters"></a>

*Nomor* TOP   
TOP mengambil integer positif sebagai argumennya, yang mendefinisikan jumlah baris yang dikembalikan ke klien. Perilaku dengan klausa TOP sama dengan perilaku dengan klausa LIMIT. Jumlah baris yang dikembalikan adalah tetap, tetapi himpunan baris tidak. Untuk mengembalikan satu set baris yang konsisten, gunakan TOP atau LIMIT bersama dengan klausa ORDER BY. 

SEMUA   
Kata kunci redundan yang mendefinisikan perilaku default jika Anda tidak menentukan DISTINCT. `SELECT ALL *`berarti sama dengan `SELECT *` (pilih semua baris untuk semua kolom dan pertahankan duplikat). 

DISTINCT   
Opsi yang menghilangkan baris duplikat dari set hasil, berdasarkan nilai yang cocok dalam satu atau beberapa kolom.   
Jika aplikasi Anda mengizinkan kunci asing atau kunci utama yang tidak valid, itu dapat menyebabkan kueri mengembalikan hasil yang salah. Misalnya, kueri SELECT DISTINCT mungkin menampilkan baris duplikat jika kolom kunci primer tidak berisi semua nilai unik. Untuk informasi selengkapnya, lihat [Mendefinisikan batasan tabel](https://docs.aws.amazon.com/redshift/latest/dg/t_Defining_constraints.html).

\* (tanda bintang)   
Mengembalikan seluruh isi tabel (semua kolom dan semua baris). 

 *ekspresi*   
Ekspresi yang terbentuk dari satu atau lebih kolom yang ada di tabel yang direferensikan oleh kueri. Ekspresi dapat berisi fungsi SQL. Contoh:   

```
avg(datediff(day, listtime, saletime))
```

AS *column\_alias*   
Nama sementara untuk kolom yang digunakan dalam set hasil akhir. Kata kunci AS adalah opsional. Contoh:   

```
avg(datediff(day, listtime, saletime)) as avgwait
```
Jika Anda tidak menentukan alias untuk ekspresi yang bukan nama kolom sederhana, set hasil akan menerapkan nama default ke kolom tersebut.   
Alias dikenali tepat setelah didefinisikan dalam daftar target. Anda dapat menggunakan alias dalam ekspresi lain yang ditentukan setelahnya dalam daftar target yang sama. Contoh berikut menggambarkan hal ini.   

```
select clicks / impressions as probability, round(100 * probability, 1) as percentage from raw_data;
```
Manfaat referensi alias lateral adalah Anda tidak perlu mengulangi ekspresi alias saat membangun ekspresi yang lebih kompleks dalam daftar target yang sama. Saat Amazon Redshift mem-parsing jenis referensi ini, itu hanya sebaris dengan alias yang ditentukan sebelumnya. Jika ada kolom dengan nama yang sama yang didefinisikan dalam `FROM` klausa sebagai ekspresi alias sebelumnya, kolom dalam `FROM` klausa akan diprioritaskan. Misalnya, dalam kueri di atas jika ada kolom bernama 'probabilitas' dalam tabel raw\_data, 'probabilitas' dalam ekspresi kedua dalam daftar target mengacu pada kolom itu alih-alih nama alias 'probabilitas'. 

## Catatan penggunaan
<a name="r_SELECT_list_usage_notes"></a>

TOP adalah ekstensi SQL; ini memberikan alternatif untuk perilaku LIMIT. Anda tidak dapat menggunakan TOP dan LIMIT dalam kueri yang sama.

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

Contoh berikut mengembalikan 10 baris dari tabel PENJUALAN. Meskipun kueri menggunakan klausa TOP, ia masih mengembalikan sekumpulan baris yang tidak dapat diprediksi karena tidak ada klausa ORDER BY yang ditentukan,

```
select top 10 *
from sales;
```

Kueri berikut secara fungsional setara, tetapi menggunakan klausa LIMIT alih-alih klausa TOP:

```
select *
from sales
limit 10;
```

Contoh berikut mengembalikan 10 baris pertama dari tabel PENJUALAN menggunakan klausa TOP, diurutkan oleh kolom QTYSOLD dalam urutan menurun.

```
select top 10 qtysold, sellerid
from sales
order by qtysold desc, sellerid;

qtysold | sellerid
--------+----------
8 |      518
8 |      520
8 |      574
8 |      718
8 |      868
8 |     2663
8 |     3396
8 |     3726
8 |     5250
8 |     6216
(10 rows)
```

Contoh berikut mengembalikan dua nilai QTYSOLD dan SELLERID pertama dari tabel PENJUALAN, diurutkan oleh kolom QTYSOLD:

```
select top 2 qtysold, sellerid
from sales
order by qtysold desc, sellerid;

qtysold | sellerid
--------+----------
8 |      518
8 |      520
(2 rows)
```

Contoh berikut menunjukkan daftar kelompok kategori yang berbeda dari tabel CATEGORY:

```
select distinct catgroup from category
order by 1;

catgroup
----------
Concerts
Shows
Sports
(3 rows)

--the same query, run without distinct
select catgroup from category
order by 1;

catgroup
----------
Concerts
Concerts
Concerts
Shows
Shows
Shows
Sports
Sports
Sports
Sports
Sports
(11 rows)
```

Contoh berikut mengembalikan kumpulan angka minggu yang berbeda untuk Desember 2008. Tanpa klausa DISTINCT, pernyataan akan mengembalikan 31 baris, atau satu untuk setiap hari dalam sebulan.

```
select distinct week, month, year
from date
where month='DEC' and year=2008
order by 1, 2, 3;

week | month | year
-----+-------+------
49 | DEC   | 2008
50 | DEC   | 2008
51 | DEC   | 2008
52 | DEC   | 2008
53 | DEC   | 2008
(5 rows)
```

