Fungsi SQL Server LEAD()

Fungsi Sql Server Lead



Pada artikel ini, kami akan memandu Anda melalui dasar-dasar bekerja dengan fungsi lead() di SQL Server. Kami akan membahas fungsi apa, sintaksnya, dan contoh praktis cara menggunakannya.

Fungsi Pimpinan SQL Server

Fungsi utama di SQL Server adalah fungsi analitik yang memungkinkan Anda mengakses data dari baris berikutnya dalam kumpulan hasil yang sama tanpa bergabung sendiri.

Fungsi ini memungkinkan Anda mengakses baris pada offset tertentu sebelum baris saat ini. Misalnya, dengan menggunakan fungsi utama, Anda dapat menemukan baris tepat setelah baris saat ini, baris ke-10 dari baris saat ini, dll.







Fungsi ini mendorong pengembang basis data untuk melakukan perbandingan baris tanpa tugas rumit seperti bergabung, menggunakan tampilan, dll.



Sintaks Fungsi

Berikut ini menggambarkan sintaks fungsi lead() di SQL Server:



LEAD ( scalar_expression [ ,offset ] , [ default ] )
LEBIH DARI ( [ partisi_menurut_klausul ] urutan_menurut_klausa )

Daftar selanjutnya adalah argumen yang didukung dan fungsinya:





  1. scalar_expression – argumen ini menunjukkan nilai pengembalian berdasarkan offset yang ditentukan. Ini bisa berupa ekspresi dari jenis apa pun yang mengembalikan nilai tunggal. Namun, nilai scalar_expression tidak bisa berupa fungsi analitik/jendela lainnya.
  2. offset – ini mengatur berapa banyak baris dari posisi baris saat ini dari nilai yang diambil. Secara default, fungsi akan segera mengambil kata sifat baris ke baris saat ini. Demikian pula, nilai parameter offset tidak boleh berupa fungsi analitik atau bilangan bulat negatif.
  3. default – parameter ini menetapkan nilai default jika nilai offset yang diberikan berada di luar cakupan partisi target. Secara default, fungsi akan mengembalikan NULL.
  4. PARTITION BY – klausa partition_by mendefinisikan aturan yang membagi set hasil menjadi beberapa bagian. Fungsi tersebut kemudian diterapkan ke setiap partisi yang dihasilkan.
  5. ORDER BY – ini menentukan urutan logis di mana baris di setiap partisi diterapkan.

Fungsi mengembalikan tipe data yang ditentukan dalam scalar_expression. Jika nilai yang dikembalikan adalah NULL, fungsi mengembalikan NULL.

Contoh data

Mari kita gunakan beberapa contoh database untuk mengilustrasikan cara terbaik menggunakan fungsi lead. Pertama, gunakan kueri seperti yang ditunjukkan di bawah ini:



JATUHKAN DATABASE JIKA ADA inventaris;

BUAT inventaris DATABASE;

GUNAKAN persediaan;

DROP TABLE JIKA ADA produk;

BUAT produk TABEL (
id int identitas kunci utama bukan nol,
product_name varchar(100),
pembuat varchar(50),
kuantitas int bukan nol,
harga int default 0,
in_stock bit
);
masukkan ke dalam produk(nama_produk, produsen, kuantitas, harga, stok_dalam)
nilai ('Apple iPad Air', 'Apple', 100, 569.99, 1),
('Samsung Galaxy Z Flip 4', 'Samsung', 302, 1569.00, 1),
('Sony Playstation 5', 'Sony',  500, 499.99, 1),
('Samsung Galaxy Watch-5 Pro', 'Samsung', 600, 209/.99, 1),
('Apple Watch Seri 6', 'Apple', 459, 379.90, 1),
('Apple AirPods Pro', 'Apple', 200, 199.99, 1),
('55' Kelas S95B OLED 4K Smart TV', 'Samsung', 900, 1999.90, 1),
('Odyssey Ark Quantum Mini-LED Gaming Screen Melengkung', 'Samsung', 50, 2999.90, 1);

Tabel yang dihasilkan adalah seperti yang ditunjukkan:

Contoh 1 – Menggunakan Fungsi SQL Server lead() pada Kumpulan Hasil

Contoh di bawah ini menggunakan fungsi lead() untuk mengembalikan harga produk berikutnya.

Pilih
nama Produk,
pabrikan,
kuantitas,
harga,
memimpin (harga,
1) lebih (
memesan berdasarkan jumlah)
dari
produk;

Tabel yang dihasilkan:

Karena tidak ada baris dari kolom terakhir, fungsi mengembalikan NULL.

Contoh 2 – Menggunakan Fungsi SQL Server lead() di atas Kumpulan Partisi

Kami juga dapat mengambil produk berikutnya di partisi tertentu. Sebagai contoh, kita dapat mempartisi data di atas berdasarkan pembuatnya dan menerapkan fungsi lead() di setiap partisi

Contoh ilustrasi seperti yang ditunjukkan:

Pilih
nama Produk,
pabrikan,
kuantitas,
harga,
memimpin (harga,
1) lebih (
partisi oleh pabrikan
memesan berdasarkan jumlah)
dari
produk;

Kueri di atas harus membagi baris berdasarkan pabrikan dan mengambil harga berikutnya untuk nilai di setiap partisi.

Dalam hal ini, ada tiga partisi.

Kesimpulan

Dalam posting ini, Anda memahami blok penyusun fungsi lead() di SQL Server. Anda juga mempelajari cara menggunakan fungsi lead() pada hasil dan kumpulan partisi.