Anda di halaman 1dari 12

::: BELAJAR SQL - PERTEMUAN 1 :::

Apakah SQL itu? SQL adalah kependekan dari Structured Query Languange yang merupakan bahasa database standar industri. SQL menyediakan Data Definiton Language (DDL) dan Data Manipulation Language (DML). Walaupun dalam beberapa bagian saling bersangkutan, perintah DDL memungkinkan kita untuk membuat dan mendefinisikan tabel (CREATE TABLE), dan index (CREATE INDEX), sedangkan perintah DML memungkinkan anda untuk membangun query untuk mengambil data (SELECT) dari beberapa tabel, menyisip (INSERT) data baru, memperbaiki (UPDATE) data, dan menghapus (DELETE). Sebelum mempelajari perintah-perintah DDL dan DML, terlebih dahulu kita akan mempelajari struktur sebuah tabel. Struktur Tabel Tabel Nilai Nama Agus Budi 80 65 Nilai

Berdasarkan tabel diatas maka Nama dan Nilai disebut sebagai Kolom sedangkan Agus dan Budi disebut Baris. Selanjutnya kita beranjak memelajari perintah-perintah DDL dan DML. Membuat Tabel Untuk membuat tabel kita menggunakan perintah CREATE TABLE. Berikut adalah bentuk umum dari penggunaan perintah tersebut: create table "namatabel" ("kolom1" "tipe data" (constraint), "kolom2" "tipe data" (constraint), "kolom3" "tipe data" (constraint)); Keterangan: Tipe Data dapat diisi dengan text, longtext, byte, bit, counter, short, long atau datetime. Sedangkan constraint adalah panjang data yang dipesan. Untuk lebih jelasnya akan saya berikan satu contoh: Apabila kita ingin membuat sebuah tabel Pegawai yang berisikan kolom Nama, Jabatan dan Gaji, maka perintah yang harus ditulis adalah: create table Pegawai (Nama text(10), Jabatan text(8), Gaji long(6)); Hasil dari perintah diatas adalah tabel dibawah ini: Pegawai

Nama

Jabatan

Gaji

Memasukkan Data Ke Tabel Untuk memasukkan data ke tabel kita menggunakan perintan INSERT. Bentuk umum dari perintah INSERT dapat anda lihat dibawah ini: insert into "nama tabel" (kolom pertama,...kolom ke-n) nilai(nilai pertama,...nilai ke-n); Keterangan: Nilai adalah data yang akan diisikan. Nilai pertama berarti nilai yang akan diisikan pada kolom pertama. Masih menggunakan tabel Pegawai yang telah kita buat sebelumnya. Sekarang kita akan mencoba memasukkan data-datanya. Data-data yang akan dimasukkan adalah: Nama : Ilham, Jabatan : Manager, Gaji : 500000. Perintah yang harus dituliskan adalah: insert into Pegawai (Nama,Jabatan,Gaji) values (Ilham,Manager,500000); Untuk melihat hasilnya anda harus menggunakan perintah SELECT. Perintah ini akan saya bahas lebih lanjut pada pertemuan kedua. Untuk melihat tabel pegawai, gunakan perintah: SELECT * from Pegawai. Dan tabel anda seharusnya akan terlihat seperti ini: Nama Ilham Jabatan Manager 500000 Gaji

Untuk memasukkan data-data berikutnya, anda dapat mengulangi kembali dengan metode yang sama.

::: BELAJAR SQL - PERTEMUAN 2 :::


Setelah pada pertemuan pertama kita bersama-sama belajar tentang bagaimana membuat tabel dan mengisikan datanya, selanjutnya pada pertemuan kedua ini saya akan membahas perintah SELECT dan UPDATE. Perintah SELECT digunakan untuk menampilkan tabel berdasarkan kriteria yang kita inginkan. Bentuk umum dari perintah SELECT adalah: select kolom from nama tabel where kondisi; Misalkan kita memiliki sebuah tabel Sales seperti dibawah ini:

Sales

Kode SL01 SL02 SL03 SL04

Nama Bram Yudi Anis Bambang

Alamat Tegalsari Tlogobayem Supriyadi Tanah Mas

Gaji 300000 300000 250000 350000

Lalu dari tabel diatas yang ingin kita tampilkan hanya kolom Kode dan Nama. Perintahnya adalah: SELECT Kode, Nama from Sales Hasilnya adalah seperti dibawah ini: Kode SL01 SL02 SL03 SL04 Nama Bram Yudi Anis Bambang

Untuk melihat seluruh kolom dalam tabel gunakan perintah SELECT * from Sales. Bagaimana bila kita ingin menampilkan Kode dan Nama sales yang namanya berinisial B saja? Berikut ini perintahnya:
SELECT Kode, Nama from Sales2 where Nama LIKE 'B%'; Hasilnya adalah seperti dibawah ini:

Kode SL01 SL04

Nama Bram Bambang

Bila anda menginginkan nama yang berakhiran g maka anda tinggal merubah 'B%' menjadi '%g'. Tantangan berikutnya, anda diminta menampilkan Kode, Nama, Alamat dan Gaji sales yang memiliki gaji kurang dari 300000. Inilah caranya:
SELECT * from Sales where Gaji < 300000;

Hasilnya adalah tabel dibawah ini:

Kode SL03

Nama Anis

Alamat Supriyadi

Gaji 250000

Operator-operator lainnya seperti >,=,>=,<=, juga dapat anda gunakan. Mengubah Data Untuk mengubah atau mengganti data lama dengan data yang baru kita gunakan perintah UPDATE. Perintah UPDATE memiliki bentuk umum: UPDATE nama tabel set kolom = [data baru] where kolom = [data lama]; Misal saja kita ingin merubah nama Anis pada tabel Sales menjadi Anisah, caranya adalah sebagai berikut: UPDATE Sales set Nama = 'Anisah' where Nama = 'Anis'; Kemudian bila anda ingin menaikkan Gaji sebesar 50000 bagi sales yang gaji semulanya masih dibawah 350000, anda dapat menggunakan perintah dibawah ini:
update Sales set Gaji = Gaji + 50000 where Gaji < 350000;

::: BELAJAR SQL - PERTEMUAN 3 :::


Pada pertemuan ketiga ini saya ingin membahas tentang bagaimana menghapus data dan tabel dengan menggunakan perintah DELETE dan DROP. Berikut pembahasan lebih lanjut: DELETE adalah perintah untuk menghapus record dari suatu tabel. DELETE memiliki bentuk umum: DELETE from nama tabel where kolom; Jadi misalkan kita memiliki tabel seperti dibawah ini: Mahasiswa NIM 2901 2902 2903 Anjar Jasmin Bayu Nama Sipil Hukum Hukum Jurusan

Lalu kita ingin menghapus data Mahasiswa dengan NIM = 2902. Caranya: DELETE from Mahasiswa where NIM = 2902;

Hasilnya: NIM 2901 2903 Anjar Bayu Nama Jurusan Sipil Hukum

Seperti yang anda lihat, bahwa seluruh record dari NIM 2902 terhapus. Dan bila anda ingin menghapus record mahasiswa bernama Anjar dan Bayu bersamaan, anda dapat gunakan perintah ini: DELETE from Mahasiswa where Nama = 'Anjar' or Nama = 'Bayu'; Menghapus Tabel Perintah untuk menghapus tabel adalah DROP. Bentuk umumnya: DROP TABLE nama tabel; Contoh: Menghapus tabel Mahasiswa beserta seluruh recordnya. Caranya adalah: DROP TABLE Mahasiswa; Penutup Beberapa hal yang patut diperhatikan dalam penulisan perintah SQL adalah: 1. Perhatikan huruf besar - huruf kecil. Agus tidak sama dengan agus. Gaji_Pegawai tidak sama dengan GajiPegawai. 2. Jangan lupa untuk membubuhi tanda titik koma ( ; ) di setiap akhir penulisan perintah. Terakhir, saya ucapkan selamat karena anda telah mempelajari perintah-perintah DDL dan DML pada SQL. Dan anda bisa dibilang telah menguasai Tingkat Dasar SQL. Untuk mempelajari SQL Tingkat Lanjut akan saya bahas pada artikel lain. Terima kasih.

::: BELAJAR SQL (LANJUT) 1 :::


Selamat berjumpa kembali dalam kursus tutorial SQL. Tutorial ini dikhususkan bagi anda yang telah mengikuti kursus tutorial SQL Pemula atau anda yang telah menguasai perintah-perintah dasar yang terdapat pada SQL. Bagi anda yang belum maka saya sarankan untuk mengikuti SQL Pemula terlebih dahulu karena disini metode yang akan saya gunakan sedikit berbeda. ORDER BY Order by adalah perintah yang digunakan untuk mengurutkan data pada tabel secara ascending (menaik) atau descending (menurun). Misalkan kita memiliki tabel seperti ini: Karyawan Kode KP01 Amrin Nama 200000 Gaji

KP02 KP03

Camelia Bembi

300000 100000

Untuk menampilkan tabel diatas urut berdasarkan Nama dari A-Z (ascending) perintahnya adalah: select Kode,Nama,Gaji from Karyawan order by Nama; Perintah diatas akan menampilkan hasil seperti ini: Kode KP01 KP03 KP02 Amrin Bembi Camelia Nama Gaji 200000 100000 300000

Perhatikan, tabel diatas menampilkan data urut Nama dari A-Z. Sebaliknya,untuk menampilkan data urut Nama dari Z-A (descending), perintahnya adalah: select Kode,Nama,Gaji from Karyawan order by Nama DESC; Anda bisa juga memodifikasinya dengan perintah Where. Misal saja anda hanya ingin menampilkan data karyawan bergaji > 100000 dan urut Kode dari besar ke kecil (descending), maka anda gunakan perintah ini: select Kode,Nama,Gaji from Karyawan where gaji > 100000 order by Kode DESC; Hasilnya akan tampak seperti ini: Kode KP02 KP01 Camelia Amrin Nama 300000 200000 Gaji

MIN, MAX, AVG, SUM, DAN COUNT Perintah MIN MAX AVG SUM COUNT Fungsi Mencari jumlah paling kecil / minimum Mencari jumlah paling besar / maksimun Menghitung rata-rata Menghitung hasil penjumlahan Menghitung hasil pencacahan / counter

Masih menggunakan tabel Karyawan, kita ingin menampilkan gaji tertinggi. Maka perintahnya: select MAX(gaji) from Karyawan; Hasilnya: Gaji 300000 Lain halnya bila kita ingin menghitung jumlah dari gaji Karyawan. Perintahnya adalah: select SUM(gaji) from Karyawan; Hasilnya: 600000 Contoh lain adalah bila kita ingin mengetahui jumlah karyawan maka perintahnya sebagai berikut: select COUNT(*) from Karyawan; GROUP BY Perintah Group By memiliki kegunaan untuk melakukan perhitungan berdasarkan kriteria tertentu. Untuk lebih jelasnya coba perhatikan tabel dibawah ini: Pegawai_baru Kode PB01 PB02 PB03 PB04 PB05 PB06 PB07 Nama Ronald Made Aziz Mustofa Eka Gozali Dani Asal Jakarta Bali Semarang Semarang Jakarta Yogya Jakarta Pendidikan S1 S1 S1 D3 S1 D3 S1 Gaji 400000 300000 300000 250000 275000 200000 350000

Dari tabel Pegawai_baru, kita ingin menampilkan gaji tertinggi / maksimum yang diperoleh pegawai berdasarkan pendidikannya. Maka perintahnya adalah: select Pendidikan,max(Gaji) from Pegawai_baru GROUP BY Pendidikan; Hasil dari perintah diatas seperti ini : D3 250000

S1

400000

Kasus lain : kita ingin menampilkan berapa banyak pegawai berdasarkan kota asalnya. Maka kita dapat menggunakan perintah count untuk pencacahan. Lebih jelasnya seperti ini: select Asal,count(Asal) from Pegawai_baru GROUP BY Asal; Bali Jakarta Semarang Yogya 1 3 2 1

Contoh lain, bila kita ingin mengetahui berapa banyak pegawai dan jumlah total gaji yang dikeluarkan untuk masing-masing pendidikan, caranya: select Pendidikan,count(Pendidikan),sum(Gaji) from Pegawai_baru GROUP BY Pendidikan; Hasilnya: D3 S1 2 5 1625000 450000

::: BELAJAR SQL (LANJUT) 2 :::


Kalau pada bagian pertama kita telah belajar hingga perintah GROUP BY maka untuk kali ini kita akan mempelari perintah yang mengikuti GROUP BY yaitu perintah HAVING. HAVING Perintah Having digunakan setelah perintah Group By untuk melakukan pengelompokan dengan kriteria yang lebih spesifik. Bila pada pertemuan pertama, kita mencoba mencari gaji maksimum dari pegawai baru berdasarkan pendidikannya maka dengan perintah Having kita dapat menambahkan dengan kriteria lain, misalnya hanya pegawai bergaji dibawah 400000 saja yang diproses. Bila anda masih bingung, contoh dibawah ini akan lebih jelas : Pembelian Pembeli Saiful Saleh Saiful Bakir Saiful Bakir Rohmat Barang Gitar Stik Drum Simbal Gitar Gitar Senar Bass Gitar Harga 400000 50000 300000 500000 500000 100000 300000

Dari tabel Pembelian diatas, kita ingin menampilkan nama-nama pembeli, berapa kali mereka melakukan transaksi dan total harga yang mereka keluarkan. Untuk tampilan seperti ini, kita cukup menggunakan Group By saja : select Pembeli,count(Pembeli),sum(Harga) from Pembelian GROUP BY Pembeli; Tapi bagaimana bila yang ingin kita proses hanya pembeli yang melakukan transaksi lebih dari 1 kali saja ? Jawabannya, kita harus tambahkan Having seperti dibawah ini : select Pembeli,count(Pembeli),sum(Harga) from Pembelian GROUP BY Pembeli HAVING count(Pembeli) > 1; Hasilnya: Saiful Bakir 3 2 1200000 600000

AND,BETWEEN,OR,IN AND adalah perintah untuk menggabungkan kedua kondisi yang keduanya harus dipenuhi. Misalkan kita memiliki tabel seperti ini: Nilai_siswa Nama Budi Agung Roni Edi Lulu Sinta Yuni Nilai 80 70 90 70 60 80 90

Maka bila kita ingin menampilkan nama siswa yang memiliki nilai antara 70 hingga 90, perintahnya adalah: select Nama from Nilai_siswa where Nilai>=70 AND Nilai<=90; Perintah diatas dapat pula diganti menggunakan perintah BETWEEN seperti ini: select Nama from Nilai_siswa where Nilai BETWEEN 70 AND 90;

OR adalah perintah untuk menggabungkan dua/lebih kondisi yang paling tidak salah satunya harus terpenuhi. Contoh : Dari tabel Nilai_siswa, kita ingin tampilkan nilai siswa yang namanya Lulu atau Lala. Perintahnya: select Nilai from Nilai_siswa where Nama='Lulu' or Nama='Lala'; Hasilnya: 60 Dengan perintah OR maka bila tidak ada nama Lala, ia akan mencari nama Lulu, begitupula sebaliknya. Perintah diatas juga dapat diubah dengan menggunakan perintah IN, seperti dibawah ini: select Nilai from Nilai_siswa where Nama IN ('Lulu','Lala'); Kebalikan dari perintah IN dan BETWEEN adalah NOT IN dan NOT BETWEEN.

::: BELAJAR SQL (LANJUT) 3 :::


Kadangkala kita dihadapkan pada redudansi data (data rangkap) dimana terdapat data-data yang sama yang membuat suatu tabel menjadi tidak efektif dan efisien. Contohnya terlihat dalam tabel dibawah ini: ID 003 002 001 004 001 002 001 005 003 Nama Fitri Lutfi Evi Agung Evi Lutfi Evi Asri Fitri Alamat Mugas Mataram Bukitsari Kalideres Bukitsari Mataram Bukitsari Kauman Mugas Tgl_beli 010902 020902 020902 030902 030902 040902 050902 050902 050902 Barang Buku Tas Buku Pulpen Majalah Pulpen Buku Buku Tas Harga 20000 80000 20000 10000 20000 10000 20000 20000 80000

Melihat tabel diatas memang memusingkan. Anda harus menginput Nama dan Alamat setiap terjadi transaksi. Untuk lebih memudahkan, tabel diatas dapat kita bagi menjadi dua tabel yakni tabel Pelanggan dan tabel Transaksi. Prosesnya sering disebut sebagai normalisasi. Pelanggan ID Nama Alamat

001 002 003 004 005 Transaksi ID 003 002 001 004 001 002 001 005 003

Evi Lutfi Fitri Agung Asri

Bukitsari Mataram Mugas Kalideres Kauman

Tgl_beli 010902 020902 020902 030902 030902 040902 050902 050902 050902

Barang Buku Tas Buku Pulpen Majalah Pulpen Buku Buku Tas

Harga 20000 80000 20000 10000 20000 10000 20000 20000 80000

Dengan begitu, maka tiap terjadi transaksi baru, kita cukup menginput data baru di tabel Transaksi saja dan kita tidak perlu menuliskan Nama maupun Alamat karena telah disimpan pada tabel Pelanggan. Perhatikan! tabel Pelanggan dan Transaksi memiliki penghubung (primary key) yang sama yaitu ID. Untuk menggabungkan kembali tabel Pelanggan dan tabel Transaksi seperti semula kita gunakan perintah ini : SELECT Pelanggan.ID,Pelanggan.Nama,Pelanggan.Alamat, Transaksi.Tgl_beli,Transaksi.Barang,Transaksi.Harga FROM Pelanggan,Transaksi WHERE Pelanggan.ID=Transaksi.ID; Bila kita ingin mengurutkan tabel berdasarkan tanggal belinya maka perintahnya menjadi: SELECT Pelanggan.ID,Pelanggan.Nama,Pelanggan.Alamat, Transaksi.Tgl_beli,Transaksi.Barang,Transaksi.Harga FROM Pelanggan,Transaksi WHERE Pelanggan.ID=Transaksi.ID;

Nah, selesai sudah kursus tutorial SQL tahap lanjut ini. Secara garis besar, anda telah menguasai teknikteknik SQL namun belum cukup sampai disini. Anda harus mempelajari teknik-teknik lainnya agar anda dapat lebih mahir dalam memecahkan masalah pada SQL. Anda dapat mempelajari teknik lainnya di situs lain atau artikel saya yang lain.

Anda mungkin juga menyukai