Senin, 26 Desember 2011

Query, Subquery, dan View

· Query

Query adalah statement dalam sql yang berfungsi untuk mendapatkan atau mengambil data dari database (satu atau beberapa tabel/view) berdasarkan kriteria-kriteria tertentu yang diberikan. Melakukan seleksi dari satu tabel, sehingga hanya melibatkan field yang ada pada table itu saja. Contoh :

SELECT field-1, …, field-n, fungsi_agregasi

FROM tabel

WHERE kondisi

GROUP BY field-1, …, field-n

HAVING kriteria_fungsi_agregasi

ORDER BY field

Melakukan seleksi lebih dari satu tabel, sehingga dapat melibatkan beberapa field dari tabel yang berbeda asalkan tabel-tabel tersebut saling berelasi. Contoh :

SELECT field-1, …, field-n, fungsi_agregasi

FROM table-1, …, table-n

WHERE kondisi

GROUP BY field-1, …, field-n

HAVING kriteria_fungsi_agregasi

ORDER BY field

· Subquery

Subquery adalah query dalam query. Artinya kita dapat membuat beberapa subquery dalam 1 query. Subquery dapat diletakkan pada WHERE clause, FROM clause, dan SELECT clause.

o WHERE clause

WHERE clause adalah subquery yang paling umum digunakan dan disebut nested subquery, contoh:

SELECT * from all_tables tabs

where tabs.table_name in(select cols.table_name from all_tab_columns cols where cols.column_name = 'id_suplier');

o FROM clause

Subquery pada FROM clause disebut inline views, contoh:

SELECT suplier.nama, subquery1.total_amt from suplier,

(select suplier_id, Sum(orders.amount) as total_amt from orders) subquery1,

where subquery1.supplier_id = suplier.id_suplier;

o SELECT clause

Subquery yang diletakkan pada SELECT clause harus bersifat single value. Oleh karena itu fungsi agregasi seperti SUM, COUNT, MIN, MAX biasanya digunakan pada subquery jenis ini, contoh:

SELECT tbls.owner, tbls.table_name,

(select count(column_name) as total_columns from all_tab_columns cols where cols.owner = tbls.owner) subquery2

from all_tables tbls;

· View

View hanyalah tabel semu yang merupakan representasi dari sebuah pernyataan SQL yang disimpan dalam memori sehingga mudah dapat digunakan kembali.

CREATE VIEW nama_view AS

SELECT field-1, …, field-n, fungsi_agregasi

FROM table-1, …, table-n

WHERE kondisi

GROUP BY field-1, …, field-n

HAVING kriteria_fungsi_agregasi

ORDER BY field

Membuat view data_pembelian, contoh :

CREATE VIEW data_pembelian AS

SELECT P.kode_pembelian, B.nama_barang, K.nama_konsumen

FROM pembelian P, barang B, konsumen K

WHERE B.kode_barang = P.kode_barang and

K.kode_konsumen = P.kode_konsumen;

Referensi

http://arifnazarp.net63.net/web_documents/agregasi.pdf

http://www.klik-oracle.web.id/?p=28

http://fortiscentral.com/forum/index.php?topic=539.0

Tidak ada komentar:

Posting Komentar