🧚 Dengar! Beekeeper Studio adalah GUI database yang cepat, modern, dan open source Unduh
6 Juli 2024 Oleh Matthew Rathbone

Membatasi Baris di Teradata dengan Keyword TOP

Keyword TOP adalah cara paling sederhana untuk membatasi baris di Teradata. Keyword ini menentukan jumlah pasti baris yang dikembalikan.

Sintaks:

SELECT TOP n column1, column2, ...
FROM table_name;

Contoh:

Misalkan Anda memiliki tabel bernama employees dan ingin mengambil 10 baris teratas.

SELECT TOP 10 employee_id, first_name, last_name
FROM employees;

Output yang Diharapkan:

 employee_id | first_name | last_name
-------------|------------|-----------
 1           | John       | Doe
 2           | Jane       | Smith
 ...         | ...        | ...
 10          | Alice      | Brown

Menggunakan Keyword SAMPLE

Cara lain untuk membatasi baris di Teradata adalah dengan keyword SAMPLE. Ini sangat berguna saat Anda membutuhkan sampel acak, bukan baris teratas.

Sintaks:

SELECT column1, column2, ...
FROM table_name
SAMPLE n;

Contoh:

Untuk mengambil sampel acak 5 baris dari tabel employees:

SELECT employee_id, first_name, last_name
FROM employees
SAMPLE 5;

Output yang Diharapkan:

 employee_id | first_name | last_name
-------------|------------|-----------
 7           | Emma       | Johnson
 3           | Robert     | Lee
 ...         | ...        | ...
 12          | Olivia     | Davis

Menggunakan SAMPLE dengan Persentase

Klausa SAMPLE juga mendukung pembatasan baris berdasarkan persentase.

Sintaks:

SELECT column1, column2, ...
FROM table_name
SAMPLE n PERCENT;

Contoh:

Ambil sampel 10% baris dari tabel employees:

SELECT employee_id, first_name, last_name
FROM employees
SAMPLE 10 PERCENT;

Output yang Diharapkan:

 employee_id | first_name | last_name
-------------|------------|-----------
 2           | Jane       | Smith
 9           | Mark       | Wilson
 ...         | ...        | ...
 22          | Lucas      | Adams

Menggunakan QUALIFY dengan ROW_NUMBER()

Untuk skenario yang lebih kompleks, Anda bisa menggunakan klausa QUALIFY dengan ROW_NUMBER(). Metode ini memungkinkan Anda menerapkan filter dan kondisi tambahan.

Sintaks:

SELECT column1, column2, ...
FROM table_name
QUALIFY ROW_NUMBER() OVER (PARTITION BY partition_column ORDER BY sort_column) <= n;

Contoh:

Ambil 5 karyawan dengan gaji tertinggi di setiap departemen:

SELECT department_id, employee_id, salary
FROM employees
QUALIFY ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) <= 5;

Output yang Diharapkan:

 department_id | employee_id | salary
---------------|-------------|--------
 1             | 101         | 120000
 1             | 102         | 115000
 ...           | ...         | ...
 2             | 201         | 95000
 ...           | ...         | ...

Kesimpulan

Membatasi baris di Teradata bisa dilakukan dengan berbagai metode, masing-masing cocok untuk skenario yang berbeda. Keyword TOP praktis untuk batasan sederhana, sementara SAMPLE menyediakan pengambilan sampel acak dan berbasis persentase. Untuk kebutuhan yang lebih kompleks, ROW_NUMBER() dengan QUALIFY menawarkan pembatasan baris yang andal berdasarkan kondisi tertentu. Memahami teknik-teknik ini akan membantu Anda mengelola dataset besar secara lebih efisien dan efektif di Teradata.

Artikel lain yang mungkin Anda sukai:

Beekeeper Studio Adalah GUI Database Gratis & Open Source

Tool query & editor SQL terbaik yang pernah saya pakai. Semua yang saya butuhkan untuk mengelola database ada di sini. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio cepat, intuitif, dan mudah digunakan. Beekeeper mendukung banyak sekali database, dan berjalan mulus di Windows, Mac, dan Linux.

Versi Linux Beekeeper punya fitur 100% lengkap, tanpa potong kompas, tanpa kompromi fitur.

Apa Kata Pengguna Tentang Beekeeper Studio

★★★★★
"Beekeeper Studio benar-benar menggantikan workflow SQL lama saya. Cepat, intuitif, dan membuat kerja dengan database kembali menyenangkan."
— Alex K., Database Developer
★★★★★
"Saya sudah mencoba banyak GUI database, tapi Beekeeper punya keseimbangan sempurna antara fitur dan kesederhanaan. Langsung jalan."
— Sarah M., Full Stack Engineer

Siap Meningkatkan Workflow SQL Anda?

download Unduh Gratis