Klausa WITH menyimpan hasil subkueri ke dalam tabel sementara sehingga pernyataan SQL berikutnya dapat menganalisis data dalam tabel tersebut. Klausa ini menyederhanakan pernyataan SQL dan meningkatkan keterbacaannya.
Sintaks
WITH table_name AS (select_statement) select_statement
Parameter
|
Parameter |
Deskripsi |
|
table_name |
Nama tabel temporary. |
|
select_statement |
Pernyataan SELECT yang mendefinisikan data untuk tabel temporary. |
Contoh
Pernyataan berikut menghitung panjang permintaan rata-rata per host di Logstore bernama website_log dan menyimpan hasilnya ke tabel sementara T1, lalu melakukan hal yang sama untuk Logstore bernama access_log dan menyimpan hasilnya ke tabel sementara T2. Klausa JOIN kemudian menggabungkan T1 dan T2 untuk mengambil panjang permintaan rata-rata dari host yang terdapat di kedua Logstore tersebut.
-
Pernyataan kueri
* | with T1 AS ( SELECT host, avg(request_length) length FROM website_log GROUP BY host ), T2 AS ( SELECT host, avg(request_length) length FROM access_log GROUP BY host ) SELECT T1.host, T1.length, T2.length FROM T1 JOIN T2 ON T1.host = T2.host