| Pencarian dan Menyortir Data |
|
|
|
| Ditulis oleh Muhammad Idris |
| Jumat, 24 April 2009 11:02 |
4.1 Pencarian DataPada SQL kita dapat melakukan pencarian data dari sebuah atau beberapa tabel. Statemen yang akan selalu digunakan adalah statemen SELECT.
4.1.1 Statemen SELECTSeperti dijelaskan pada Modul 1. “Memahami SQL”, statemen-statemen dalam SQL menggunakan istilah-istilah dalam bahasa Inggris. Istilah-istilah itu disebut keyword, dan setiap statemen SQL dibangun dengan satu atau lebih keyword. Statemen SQL yang mungkin akan banyak Anda gunakan adalah statemen SELECT, yang kegunaannya adalah untuk mengambil informasi dari satu atau beberapa tabel. Dalam penggunakaan statemen SELECT untuk mendapatkan kembali data tabel, Anda harus sedikitnya menentukan dua bagian informasi – data apa yang akan Anda pilih, dan dari mana data tersebut dipilih.
4.1.2 Menampilkan Nilai Field-field IndividualKita akan memulai dengan statemen SELECT dari SQL, sebagai berikut : INPUT SELECT nama FROM Mhs; ANALYSIS Statemen diatas menggunakan statemen SELECT untuk memanggil field tunggal yang disebut nama dari dalam tabel mhs. Nama field yang diinginkan ditentukan di sebelah kanan setelah keyword SELECT, dan keyword FROM menentukan nama tabel dari mana data diambil. Output dari statemen tersebut adalah sebagai berikut : OUTPUT nama -------- Sofyan Reni Ivan Andi Neli Sophia Diana
Statemen SELECT yang sederhana ini hampir sama dengan yang digunakan untuk menampilkan semua record dalam sebuah tabel. Data-data tersebut tidak disaring dan juga tidak diurutkan. Topik ini akan dibahas pada modul lainnya.
4.1.3 Menampilkan Nilai Banyak FieldUntuk mencari atau manampilkan beberapa field daari sebut tabel, statemen SELECT yang sama juga digunakan. Satu-satunya perbedaannya adalah banyak nama field harus ditentukan setelah keyword SELECT, dan setiap field harus dipisahkan dengan tanda koma[2]. Statemen SELECT berikut menampilkan tiga field dari tabel mhs. INPUT SELECT nim, nama, kota FROM Mhs; ANALYSIS Sama pada contoh sebelumnya, dengan menggunakan statemen SELECT untuk mencari data dari tabel mhs. Pada contoh ini, ditentukan tiga nama field dan masing-masing dipisahkan oleh tanda koma. Hasilnya seperti berikut ini : OUTPUT nim nama kota ------- ------ --------- 9702026 Sofyan Bandung 9703025 Reni Bandung 9701004 Ivan Nias 9702002 Andi Garut 9701006 Neli Samarinda 9702011 Sophia Jakarta 9703044 Diana Bandung
4.1.4 Menampilkan Semua FieldSelain dapat menentukan field yang diinginkan (satu atau beberapa field), statemen SELECT juga dapat meminta semua field tanpa harus menguraikan daftar field satu-persatu. Hal ini dapat diakukan dengan menggunakan tanda asterik (*) sebagai pengganti nama-nama field, sebagai berikut : INPUT SELECT * FROM Mhs; ANALYSIS Jika tanda (*) ditempatkan, maka semua field pada tabel akan diambil, Urutan field biasanya akan terurut sesuai dengan urutan field pada struktur tabel.
4.2 Menyotir DataDiatas telah dibahas bahwa statemen SQL berikut ini mengambil nilai field dari suatu tabel database. Tetapi perhatikan outputnya, dimana data sama sekali tidak ditampil dalam urutan tertentu. INPUT SELECT nama FROM Mhs; OUTPUT nama -------- Sofyan Reni Ivan Andi Neli Sophia Diana
Kenyataannya, data yang diambil ditampilkan dalam urutan acak. Jika dibiarkan tidak disortir, maka data akan ditampilkan sesuai dengan apa yang tampak pada tabel pokok. Urutan itu menhadi urutan dimana data ditambakan pada tabel awalnya. Akan tetapi, jika data kemudian diperbarui atau dihapus, susunnanya akan dipengaruhi oleh bagaimana DBMS kembali menggunakan tempat penyimpanan data. Akibatnya, Anda tidak dapat mengandalkan urutan penyortiran juka Anda tidak mengontrolnya secara jelas. Teori desain database relasional menyatakan bahwa rangkaian data yang diperoleh di nilai tidak mempunyai arti jika pengurutannya tidak ditentukan dengan jelas.
4.2.1 Klausa ORDER BYUntuk menyortir data yang didapatkan dengan menggunakan statemen SELECT, digunakan klausa[3] ORDER BY. ORDER BY mengambil nama dari satu atau beberapa field yang outputnya akan disortir. Lihat contoh berikut ini : INPUT SELECT nama FROM Mhs ORDER BY nama; ANALYSIS Statemen ini serupa dengan statemen sebelumnya, ORDER BY diatas memerintahkan software DBMS untuk menyortir data dengan field nama. Hasilnya sebagai berikut : OUTPUT nama ------ Andi Fitria Ivan Neli Reni Sofyan Sophia
Letak klausa ORDER BY pastikan bahwa itu klausa terakhir dalam statemen SELECT, jika tidak, akan terjadi error. Dipilih field-field yang digunakan dalam klausa ORDER BY sering akan menjadi field yang dipilih untuk ditampilkan, tetapi sebenarnya itu tidak harus. Aturannya adalah menyortir/memiliah data berdasarkan field yang tidak diambil/terdaftar.
4.2.2 Menyortir Berdasarkan Banyak FieldMenyortir/memilah data berdasarkan lebih dari satu field sering kali diperlukan. Sebagai contoh, jika Anda akan menampilkan daftar karyawan mungkin Anda perlu menampilkan data tersebut berdasarkan nama belakang atau nama depan (pertama berdasarkan nama depan, kemudian setiap nama belakang ditampilkan berdasarkan nama depan). Hal ini berguna jika ada banyak karyawan dengan nama belakang yang sama. Utuk menyortir berdasarkan banyak field, tentukan nama-nama field yang dipisahkan dengan koma (seperti yang Anda lakukan pada saat Anda memilih beberapa field). Contoh berikut memanggil tiga field dan menyortir hasilnya berdasarkan dua diantaranya, yaitu berdasarkan kota dan kemudian berdasarkan nama. INPUT SELECT nim, nama, kota FROM Mhs ORDER BY kota, nama OUTPUT nim nama kota --- ---- ---- 9703044 Fitria Bandung 9703025 Reni Bandung 9702026 Sofyan Bandung 9702002 Andi Garut 9702011 Sophia Jakarta 9701004 Ivan Nias 9701006 Neli Pontianak Penting untuk diingat bahwa pada saat Anda menyortir beberapa field, maka rangkaian penyortiran ditentukan. Dengan kata lain, dengan menggunakan contoh diatas, field nama akan disortir berdasarkan field nama saja (jika nilai field kota ada yang sama). Jika semua nilai dalam field kota berbeda, maka tidak ada data yang disortir berdasarkan field nama.
4.2.3 Menyortir Berdasarkan Letak FieldSelain dapat menentukan urutan penyortiran dengan menggunakan nama field, ORDER BY juga mendukung pengurutan berdasarkan letak field relatif. Cara terbaik untuk memahami hal ini adalah dengan memperhatikan contoh berikut : INPUT SELECT nim, nama, kota FROM Mhs ORDER BY 3, 2; OUTPUT nim nama kota --- ---- ---- 9703044 Fitria Bandung 9703025 Reni Bandung 9702026 Sofyan Bandung 9702002 Andi Garut 9702011 Sophia Jakarta 9701004 Ivan Nias ANALYSIS Seperti dapat Anda lihat, hasilnya sama dengan pernyataan diatas. Perbedaannya adalah pada klausa ORDER BY. Daripada menentukan nama field, lebih baik menentukan posisi relatip dari field-field yang dipilih dalam daftar SELECT. ORDER BY 3 artinya menyortir data berdasarkan field ke 2 dalam daftar SELECT. ORDER BY 3, 2 artinya menyotir berdasarkan kota kemudian berdasarkan nama. Keuntungan utama dari cara ini adalah mengurangi pengetikan kembali nama-nama field. Kelemahannya, gampang sekali terjadi kesalahan dalam mengurutkan data, ketika membuat perubahan pada daftar SELECT.
4.2.4 Menentukan Urutan PenyortiranPenyortiran data tidak terbatas hanya untuk menyusun urutan penyortiran (dari A ke Z). Meskipun merupakan urutan penyortiran default, klausa ORDER BY juga dapat digunakan untuk menyortir dengan urutan decending (dari Z ke A). Untuk melakukannya keyword DESC harus ditempatkan. Berikut ini contoh menyortir dalam susunan descending :
INPUT SELECT nim, nama, kota FROM Mhs ORDER BY kota DESC, nama; OUTPUT nim nama kota --- ---- ---- 9701006 Neli Pontianak 9701004 Ivan Nias 9702011 Sophia Jakarta 9702002 Andi Garut 9703044 Fitria Bandung 9703025 Reni Bandung 9702026 Sofyan Bandung
Keyword DESC hanya akan digunakan pada nama field yang langsung mendahuluinya. Pada contoh diatas, DESC ditentukan untuk field kota, dan bukan untuk field nama. Untuk itu field kota disortir berdasaran susunan descending, tetapi untuk field nama (berdasarkan setiap kota) tetap disortir berdasarkan susunan standar yang ascending. DESC adalah kependekan dari DESCENDING. dan keduanya dapat digunakan. Lawan dari DESC adalah ASC (ASCENDING), untuk menyortir dengan susunan kertas/ascending. Dalam prakteknya ASC biasanya tidak digunakan karena ASC adalah rangkaian default (dengan asumsi tidak satupun dari ASC atau DESC ditentukan).Keyword adalah kata yang merupakan bagian dari bahasa SQL. Jangan pernah menamai sebuah tabel atau field dengan menggunakan keyword. Hati-Hati dengan Tanda Koma. Ketika memilih beberapa field, pastikan untuk menempatkan tanda koma di antara setiap nama field, tetapi tidak setelah nama field terakhir karena akan menimbulkan kesalahaan Klausa. Statemen SQL terdiri dari klausa-klausa, beberapa diantaranya harus dan lainnya opsional. Klausa biasanya terdiri dari keyword dan data yang disediakan. Contoh untuk hal ini adalah klausa FROM untuk statemen SELECT, seperti yang Anda lliha diatas. Comments (1)
![]() Write comment
|










Because they help much clear nderstanding.