Belajar Database PostgreSQL - Klausa WITH

Pada database tutorial PostgreSQL kali ini saya akan membahas mengenai klausa WITH. Klausa WITH menyediakan cara untuk menulis pernyataan tambahan untuk digunakan dalam query yang lebih besar. Ini membantu dalam query yang rumit dan besar menjadi bentuk yang lebih sederhana sehingga mudah dibaca. Pernyataan-pernyataan ini, yang sering disebut sebagai CTE (Common Table Expressions). Klausa WITH juga dapat diartikan sebagai mendefinisikan tabel sementara yang ada hanya untuk suatu query.

Belajar Klausa WITH di PostgreSQL


Klausa WITH menjadi CTE query, sangat berguna ketika subquery dijalankan beberapa kali. Hal ini sama-sama membantu di tempat tabel sementara. Klausa WITH harus didefinisikan terlebih dahulu sebelum digunakan dalam query.

Baca Juga : Contoh Penggunaan Join pada PostgreSQL

Sintak:
Sintaks dasar klausa WITH adalah sebagai berikut:

WITH
          name_for_summary_data AS(
                  SELECT Statement
           )
SELECT columns
FROM name_for_summary_data;

Catatan : name_for_summary_data adalah nama diberikan untuk klausa WITH.

Kalian dapat merubah atau memodifikasi data dengan statement(INSERT, UPDATE atau DELETE) di WITH. Penggunaan WITH memungkinkan kalian melakukan beberapa operasi berbeda dalam query yang sama.

Buatlah sebuah database, kemudian eksekusi query dibawah ini :
CREATE TABLE COMPANY(
                ID INT           PRIMARY KEY        NOT NULL,
                NAMA           TEXT                        NOT NULL,
                USIA              INT                          NOT NULL,
                ALAMAT       CHAR(50),
                GAJI              REAL
);

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (1, 'Dedi', 32, 'California', 20000.00 );

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (2, 'Akira', 28, 'Texas', 15000.00 );

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (3, 'Kevin', 23, 'Norway', 20000.00 );

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (4, 'Nuy', 25, 'Rich-Mond ', 65000.00 );

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (5, 'Ade', 24, 'Texas', 85000.00 );

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (6, 'Eris', 19, 'South-Hall', 45000.00 );

INSERT INTO COMPANY VALUES (7, 'Cui', 23, 'Houston', 10000.00 );

Query diatas berfungsi untuk membuat tabel COMPANY dan ditambahkan 7(tujuh) buah record.

Contoh Penggunaan Klausa WITH

WITH CTE AS(
            SELECT ID, NAMA, USIA, ALAMAT, GAJI
            FROM COMPANY)
SELECT * FROM CTE;

Query PostgreSQL diatas akan menghasilkan output berikut :

 id | nama  | usia|  alamat   | gaji
----+-------+-----+-----------+--------
  1 | Dedi  |  32 | California|  20000
  2 | Akira |  28 | Texas     |  15000
  3 | Kevin |  23 | Norway    |  20000
  4 | Nuy   |  25 | Rich-Mond |  65000
  5 | Ade   |  24 | Texas     |  85000
  6 | Eris  |  19 | South-Hall|  45000
  7 | Cui   |  23 | Houston   |  10000

Baca Juga : Contoh Penggunaan Order By pada PostgreSQL

Copyrighted.com Registered & Protected 
AJAW-5EQN-NQ3L-AORQ


EmoticonEmoticon