Masih berbicara mengenai basis data, dan pastinya ga jauh2 dari ngomongin query, heheheh....kalo qta ngomongin masalah basis data, qta bisa bayangin klo basis data itu ibarat lemari arsip. tau dong lemari arsip itu isinya apaan?yes, betul banget dan 100 buat yang jawab isinya adalah data/arsip. biasanya lemari arsip itu ada beberapa bagian ya, tergantung dari modelnya. bayangkan lemari arsip besar yang tersusun atas beberapa laci dan dari setiap laci tersebut diberi nama/label berdasarkan abjad A-Z. kemudian dari masing-masing laci tersebut berisi arsip dengan awalan nama sesuai abjad di laci, dan isi laci tersebut diurutkan misalnya berdasarkan tanggal.
Oke, sampe sini udah bisa bayangin kan basis data itu kaya apa? nah sekarang persepsi diatas tinggal di replace dengan cara ganti gambar lemari menjadi hardisk, kemudian dalam hardisk tersebut, bayangkan qta menyimpan file yang diurut seperti urutan laci dan isinya. laci dalam basis data biasanya mencerminkan sebuah tabel. dan file2 yang ada dalam laci tersebut, klo dalam istilah basis data disebut dengan record/tuple. jadi kalo ada user ambil file bernama budi dari laci B, berarti user tersebut mengambil record si Budi dari tabel B. nah itulah basis data :)
Biasanya setiap orang memiliki kebutuhan yang berbeda untuk data yang diambil dari basis data. dan dari data yang ada dalam sebuah tabelpun, terkadang hanya record tertentu saja yang dibuthkan.bahkan bisa jadi dari record tersebut hanya beberapa field tertentu yang diambil. field? apa itu field?hehehe...field itu beda ya sama file. field istilah lainnya adalah attribut/kolom dari suatu record. untuk menangani kebutuhan yang berbeda dari masing2 user tersebut, SQL Server menyediakan fitur untuk Retrieving data menggunakan beberapa cara. nah cara2 yang bisa dipake antara lain:
- Menggunakan Wildcard dengan menggunakan kata kunci LIKE
- Menggunakan klausa ORDER BY
- Menggunakan Keyword TOP
- Menggunakan Keyword DISTINCT
- Menggunakan Fungsi Aggregate
Oke,yu disimak bagaimana mekanisme dari masing2 cara retrieving data diatas.
Menggunakan Wildcard dengan kata kunci LIKE
SQL Server menyediakan sebuah metode pencocokan pola untuk ekspresi string
dengan menggunakan kata kunci LIKE dengan mekanisme wildcard. Kata kunci LIKE digunakan untuk memilih baris yang cocok dengan
bagian tertentu dari string karakter. Penggunaan kata kunci LIKE biasanya
diikuti dengan penggunaan tanda persen (%) didepan, dibelakang atau didepan dan
belakang nilai yang dicari. Syntax yang bisa digunakan yaitu:
SELECT field1, field2,…..
FROM nama_table
WHERE nm_field
LIKE '%string%’
Keterangan:
- SELECT berisi field yang akan ditampilkan dari sebuah atau beberapa tabel
- FROM disini berisi tabel sumber yang akan digunakan
- WHERE berisi kondisi, dimana akan digunakan sebagai data yang akan dicocokan dengan string yang ada pada kata kunci LIKE
- pada baris terakhir, yaitu LIKE berisi kata kunci yang akan dicocokan dengan pencarian.
bingung ya? :D oke2, yu' liat contoh penggunaannya berikut:
Misalnya gw punya basis data "Recruitment" dan tabel "College" dengan instance sebagai berikut:
dari tabel tersebut gw mau nyari data College dimana cState nya memiliki kata tengah "For". itu artinya kata diawal dan diakhir kata "for" bisa sembarang karakter dan dengan panjang tak ditentukan. untuk retrieve data tersebut, dapat menggunakan query berikut:
use
recruitment
SELECT * from college WHERE (cState LIKE '%for%')
pada saat query diatas diexecute di SQL Server, maka akan menghasilkan dataset berikut:
Penggunaan symbol "%" disini mengasumsikan sembarang karakter yang akan dicari baik yang ada diawal maupun diakhir. klo misalkan nyari string yg sudah diketahui jumlah karakternya tapi ga tau karakter yg mengisinya apa bisa ga?oh tentu bisa :D jika jumlah string sudah diketahui panjangnya bisa menggunakan simbol under score "_".
Contoh:
cari kota yang jumlah karakter dalam nama kota tersebut adalah 5 karakter dan dua huruf pertamanya adalah "Te". nah, untuk kasus ini pada kata kunci LIKE, masukan: 'te___'
setelah karakter "te" diikuti dengan under score sebanyak 3 buah.
Menggunakan Keyword TOP
apa fungsi dari keyword TOP? fungsinya adalah untuk menampilkan data teratas dari sebuah tabel. penggunaan keyword TOP biasanya diikuti dengan jumlah record yang akan ditampilkan. Syntaxnya adalah sebagai berikut:
SELECT TOP (n) column_name [,column_name…]
FROM table_name
n yang berada dalam keyword TOP diisi dengan jumlah record teratas yang akan ditampilkan.
Contoh:
tampilkan 5 record teratas dari tabel College.
untuk retrieve data tersebut dapat dilakukan dengan menggunakan query berikut:
use
recruitment
SELECT TOP(5) * From College
pada saat query diatas diexecute, maka akan menghasilkan dataset dengan 5 record teratas dari tabel College.
Menggunakan Keyword ORDER BY
ORDER BY digunakan untuk menampilkan
data tersusun secara urut. Pengurutan dapat dilakukan berdasarkan data terkecil
ke besar atau sebaliknya. Syntax dari penggunaan clausa ORDER by ini adalah sebagai
berikut:
SELECT select_list
FROM table_name
[ORDER BY
column_name | select_list_number | expression [ASC|DESC]
Keterangan:
- pada Pernyataan SELECT berisi field yang akan ditampikan
- pernyataan FROM berisi tabel yang akan digunakan
- pernyataan ORDER BY berisi kriteria pengurutan, bisa berisi field/kolom, kemudian diikuti dengan metode pengurutannya
use recruitment
SELECT * FROM College
ORDER BY cCollegeName ASC
query diatas pada saat di execute akan menghasilkan dataset terurut berdasarkan cCollegeName nya.
Menggunakan Keyword DISTINCT
DISTINCT digunakan apabila ingin menghilangkan duplikasi baris dari hasil set. misalkan pada field cState tabel College diatas kan terdapat nama kota yang sama ya, klo mau ditampilkan namun hanya satu nama kota dari setiap kota, alias tidak ada nama kota yang sama berulang ditampilkan, maka tambahkan keyword DISTINCT pada pernyataan SELECT nya.
contoh:
use recruitment
SELECT DISTINCT cState FROM
College
Menggunakan Fungsi Aggregate
Fungsi aggregate sering
digunakan untuk operasi perhitungan dari sebuah grup data. Fungsi-fungsi
aggregate yang sering digunakan dalam query adalah :
- AVG: Berfungsi untuk mencari nilai rata-rata.
- SUM: Berfungsi untuk mencari jumlahdari suatu field.
- MAX: Berfungsi untuk mencari nilai maximum.
- MIN: Berfungsi untuk mencari nilai minimum.
- COUNT: Berfungsi untuk mencari jumlah data/total record.
untuk menggunakan fungsi
anggegate diatas, gw punya contoh tabel "OrderDetail" pada basis data
"GlobalToyz" dengan instance sebagai berikut:
Nah dari tabel diatas, untuk mendapatkan Harga Rata-Rata adalah dengan query berikut ini:
use GlobalToyz
SELECT AVG (mToyCost) AS 'Biaya Rata-Rata'
FROM OrderDetail
hasil execute query diatas adalah:
BiayaRata-Rata |
36.2173 |
kalo mw nyari total dari biaya gimana? pake fungsi aggregate yaitu SUM dengan cara sebagai berikut:
use
GlobalToyz
SELECT SUM (mToyCost) AS 'Total Biaya'
FROM OrderDetail
hasil execute query diatas adalah:
Total Biaya |
543.26 |
Klo buat nyari nilai minimal,nilai maximal dan jumlah data dari tabel diatas bisa dengan query berikut:
use
GlobalToyz
SELECT COUNT(mToyCost) AS 'Jml Data', MIN(mToyCost) AS 'Minimal Cost', MAX(mToyCost) AS 'Maximal Cost'
FROM OrderDetail
hasil execute query diatas adalah:
Jml Data | Minimal Cost | Maximal Cost |
15 | 12.99 | 86.50 |
Sampe sini ada pertanyaan?heheheh...oke untuk sesi ini sekian apa yang bisa gw share. mudah2an bermanfaat dan nambah pengetahuan bagi yang belum tau :D
0 Comment:
Posting Komentar