haiii guys... jumpa lagi sama nha disini,,,sekarang nha mau bagi materi lagi nih..kali ini tentang"SUBQUERY, SQL, dan Optimasi Query"..
kalian tau apa itu subquery???
Pengertian Subquery
Subquery merupakan statement SELECT yang dilampirkan sebagai klausa SQL statement yang lain. Dengan kata lain Subquery adalah query didalam query. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui.
artinya dengan memakai subquery kita dapat mempersingkat perintah dan menggunakan fungsi logika yang lebih mudah dipahami daripada query biasa. Subquery ini dapat diletakkan pada WHERE klausa, FROM klausa, dan SELECT klausa.
Adapun syntak penulisan subquery yaitu sebagai berikut:
SELECT select_list
FROM table
WHERE expr operator
(SELECT select_list
FROM table);
contoh:
misal dalam suatu database terdapat tabel "mahasiswa", "ambilMK", "makul". perintah untuk menampilkan nama dan nilai mahasiswa yang nilainya diatas rata-rata pada salah satu mata kuliah. Untuk menyelesaikan persoalan itu kita bisa menggunkan syntak berikut:
SELECT mahasiswa.nama, ambilMK.nilai FROM mahasiswa, ambilMK WHERE mahasiswa.NIM=ambilMK.NIM AND ambilMK.nilai > (SELECT avg(nilai) FROM ambilMK where kodeMK='M01');
Seperti yang sudah saya sebutkan tadi, yaitu mengenai peletakan subqueqy. subquery bisa diletakan pada WHERE klausa. WHERE klausa ini paling banyak digunakan, subquery ini disebut NESTED QUERY. kemudian yang kedua FROM query, subquery ini dinamakan INLINE VIEWES, dan yang ketiga SELECT klausa, subquery yang diletakkan pada SELECT klausa harus yang bersifat singel value.Oleh karena itu Aggregate function seperti SUM, COUNT, MIN, MAX biasanya digunakan pada subquery jenis ini.
Structured Query Language (SQL)
Structured Query Language (SQL) ini adalah sebuah bagian dari
sejumlah DBMS, seperti MYSQL, Oracle, dan sebagainya. SQL ini dapat
digunakan baik secara berdiri sendiri maupun diletakkan pada
bahasa-bahasa lain, seperti C++, C,dll. SQl ini juga mempunyai
elemen-elemen dasar, seperti:
a. Pernyataan
Pernyataan
yang dimaksud disini adalah perintah SQL yang meminta sesuatu tindakan
kepada DBMS, seperti DELETE (untuk menghapus), SELECT (untuk memilih
atau menampilkan baris atau kolom, juga bisa menampilkan semua isi
tabel), UPDATE (untuk mengubah atau mengedit nilai pada sebuah tabel),
dan masih banyak lagi pernyataan yang lain.
b. Nama
Nama ini digunakan sebagai identitas bagi objek-objek pada DBMS.
c. Konstanta
Konstanta menyatakan nilai yang tetap.
d. Aggregate function
Aggregate function merupakan sebuah subprogram dimana jika dipanggil
akan menghasilkan suatu nilai, fungsi ini digunakan untuk malakukan
summary, fungsi satatistika standar yang dikenakan pada suatu tabel atau
query. Aggregate function ini, seperti AVG, MAX, MIN, SUM, COUNT.
Optimasi Query
Optimasi
query merupakan suatu proses untuk menganalisis dan menentukan sumber
apa saja yang digunakan oleh query tsb dan apakah penggunaan dari sumber
tsb dapat dikurangi tanpa merubah output. Tujuan dari optimasi query
ini adalah untuk menentukan jalan akses yang temudah untuk meminimalisir
waktu. Optimasi query dipengaruhi oleh faktor optimasi aplikasi dan penggunaan cluster dan index.
a. Optimasi Aplikasi
Dalam pembuatan aplikasi, yang diperhatikan adalah akses data itu sendiri, apakah akses data sudah efisien apa belum. Efisien dalam hal ini mencakup index dan cluster, dan bagaimana database itu didesain. desain database maksudnya, apakah database sudah melakukan normalisasi data secara tepat. Misalnya tabel yang hubungannya 1-1 labih baik disatukan dalam satu tabel.
b. Cluster dan Index
Dari tadi sudah berbicara tentang cluster, mungkin teman-teman masih bingung apa itu cluster. Cluster merupakan suatu segment yang menyimpan data dari tabel yang berbeda dalam struktur fisik yang berdekatan. penggunaan cluster yaitu setelah menganalisa tabel-tabel mana saja yang sering di-query secara bersama-sama menggunakan perintah SQL. Jika aplikasi sering melakukan query pada klausa SELECT, maka harus digunakan index yang melibatkan kolom tersebut.