Assalamualainkum wr wb QUERY Anna Mukhayaroh
Klik Options..., Pilih Enabled this Content, lalu Klik Ok
Query Design Pilih Menu Create Pilih Query Design Close Jendela Show Tables Pada View pilih SQL View
Query Design Terdapat 3 pilihan pada toolbars View, yaitu : 1. Design View untuk menampilkan desain tabel query 2. Datasheet View untuk menampilkan data hasil query 3. SQL View untuk membuat query dengan script SQL Pada bagian ini, jika kita sudah membuat desain query menggunakan design view, kita bisa melihat langsung script SQLnya pada SQL View.
Membuat Query menggunakan SQL Query adalah proses penggabungan field dari beberapa tabel yang saling ber-relasi dalam satu database. Relasi dalam database ada banyak macamnya. Copy Table (Perintah untuk membuat duplikat tabel) Perintah : Select * into nama_table_baru from nama_tabel_lama; Contoh : copy tabel mahasiswa menjadi tabel mhs SELECT * into mhs FROM mahasiswa;
Ekspresi Membuat atribut tambahan pada tampilan query. Dapat berupa pengolahan operator.ekspresi as nm_inisial ; Perintah : Ekspresi as nm_inisial ; Contoh : Harga * jumlah as total ; Relasi Perintah untuk menggabungkan field dari beberapa tabel yang saling berrelasi. Sebelum menggabungkan kita harus menentukan relasi nya terlebih dahulu Relasi pada tabel terbagi 3 jenis : Inner Join Menggabungkan setiap record dari dua table atau lebih yang memiliki field tertentu yang sama. Outer Join Merelasikan tabel satu arah, sehingga memungkinkan ada data yang NULL (kosong) di satu sisi.
RELASI Inner Join Proses merelasikan field dari beberapa tabel yang memiliki field yang sama, dan menampilkan data yang equal, isi record dari kedua tabel saling menyeimbangkan. 1. Inner join 2 tabel (One to One) Menggabungkan setiap record dari dua table yang memiliki field tertentu yang sama. Bentuk Umum : Select nm_table.nm_field,nm_table.nm_field from tabel_pertama inner join tabel_kedua on table_pertama.nm_field = table_kedua.nm_field ;
Inner join 2 tabel (One to One) Contoh : munculkan field : nmkaryawan,nofaktur,tglfaktur dari tabel karyawan dan penjualan. Dan tentukan relasinya. Sintaks SQL : Field nmkaryawan nofaktur tglfaktur Asal Tabel karyawan penjualan penjualan SELECT karyawan.nmkaryawan, penjualan.nofaktur, penjualan.tglfaktur FROM karyawan INNER JOIN penjualan ON karyawan.nik=penjualan.nik;
Hasilnya :
2. Inner join 3 tabel (One to Many) Menggabungkan setiap record dari tiga table atau lebih yang memiliki field tertentu yang sama. Bentuk Umum : Select nm_table.nm_field,nm_table.nm_field from tabel_pertama1 inner join ( tabel_pertama2 inner join tabel_kedua on table_pertama2.nm_field = tabel_kedua.nm_field) on tabel_pertama1.nm_field = tabel_kedua.nm_field ;
Inner join 3 tabel (One to Many) Contoh : munculkan field tglfaktur, nmbarang, harga, jumbel, total dgn ekspresi (total = harga x jumbel). Field Asal Tabel Sintaks SQL : tglfaktur nmbarang harga jumbel total penjualan barang barang detail_penjualan Ekspresi total didapat dari harga x jumbel SELECT penjualan.tglfaktur, barang.nmbarang, barang.harga, detail_penjualan.jumbel, harga*jumbel as total FROM penjualan INNER JOIN (barang INNER JOIN detail_penjualan ON barang.kdbarang = detail_penjualan.kdbarang) ON penjualan.nofaktur= detail_penjualan.nofaktur;
Hasilnya : Total merupakan Ekspresi dari Harga dikalikan Jumbel
Outer Join Merelasikan tabel satu arah, sehingga memungkinkan ada data yang NULL (kosong) di satu sisi. Outer Join terdiri dari Left Join dan Right Join. 1. Left Join Left Join merelasikan tabel dengan bentuk relasi tabel yang pertama akan dimunculkan semua datanya. Bentuk Umum : Select nm_table.nm_field,nm_table.nm_field from tabel_pertama left join tabel_kedua on table_pertama.nm_field = table_kedua.nm_field;
Contoh : tampilkan field nofaktur, nmkaryawan dengan relasi Left Join. Field Asal Tabel nofaktur penjualan nmkaryawan karyawan Tampilkan dgn relasi Left Join Sintaks : SELECT penjualan.nofaktur,karyawan.nmkaryawan FROM karyawan LEFT JOIN penjualan ON karyawan.nik = penjualan.nik;
Left Join Hasilnya : Ket : data pada tabel pertama (karyawan) dimunculkan semua, walaupun tidak ada datanya pada tabel kedua (penjualan)
2. Right Join Outer Join Right Join merelasikan tabel dengan bentuk relasi tabel yang kedua akan dimunculkan semua datanya. Bentuk Umum : Select nm_table.nm_field,nm_table.nm_field from tabel_pertama right join tabel_kedua on table_pertama.nm_field = table_kedua.nm_field;
Contoh : tampilkan field nofaktur, nmkaryawan dengan relasi Right Join. Field Asal Tabel nofaktur penjualan nmkaryawan karyawan Tampilkan dgn relasi Right Join Sintaks : SELECT penjualan.nofaktur,karyawan.nmkaryawan FROM karyawan RIGHT JOIN penjualan ON karyawan.nik = penjualan.nik;
Right Join Hasilnya : Ket : data pada tabel kedua (penjualan) dimunculkan semua dan tabel pertama (karyawan) menyesuaikan diri pada tabel kedua (penjualan).
FUNGSI IIF Pernyataan if mempunyai pengertian Jika kondisi bernilai benar maka perintah akan dikerjakan, dan jika tidak memenuhi kondisi/syarat maka perintah akan diabaikan Rumus If IIF = KONDISI - 1 Untuk menyebutkan syarat biasanya digunakan operator logika dan relasi. Contoh Soal : 1) Jika total >= 8000, maka bonus Payung Selain itu bonus Tidak Dapat Sintaks : iif(total>=8000,"payung,"tidak Dapat ) AS bonus 2) Jika total >= 8000, maka bonus Payung Jika total >= 5000, maka bonus Gelas Selain itu bonus Tidak Dapat Sintaks : iif(total>=8000,"payung",iif(total>=5000,"gelas","tidak Dapat")) AS bonus
3) Jika anggota= Member, maka potongan=10% dari total Selain itu tidak dapat potongan Sintaks : iif(anggota= Member,0.1*total,0) AS potongan 4) Jika lamapinjam >=10, maka denda=5% dari hargasewa Jika lamapinjam >5, maka denda=2% dari hargasewa Selain itu tidak dapat denda Sintaks : iif(lamapinjam>=10,0.05*hargasewa, iif(lamapinjam>5,0.02*hargasewa,0) ) AS denda 5) Jika jabatan= Direktur, maka gaji= Rp. 7.000.000 Jika jabatan = Manager, maka gaji= Rp. 5.000.000 Jika jabatan = Staff, maka gaji= Rp.3.000.000 Selain itu gaji = Rp. 2.000.000 Sintaks : iif(jabatan= Direktur,7000000, iif(jabatan= Manager,5000000, iif(jabatan= Staff,3000000,2000000))) AS gaji
Membuat Query menggunakan SQL Lanjutan Contoh : 1) Menampilkan seluruh record yang ada pada Tabel barang Sintaks SQL : SELECT * FROM barang; (perintah SELECT * digunakan untuk menapilkan seluruh data pada tabel sedangkan FROM barang digunakan untuk menerangkan data dari tabel mana yang akan di pakai atau ditampilkan). Klik RUN untuk menjalankan Hasilnya :
2) Menampilkan kode barang dan nama barang yang ada pada Tabel barang dengan syarat kode barang B003 Sintaks SQL : SELECT Barang.kdbarang, Barang.nmbarang FROM Barang WHERE Barang.kdbarang="B003"; Hasilnya :
3) M Menampilkan data dari Barang dan Detail_Penjualan, dengan Syarat No Faktur = F0001 Sintaks SQL : SELECT barang.kdbarang, barang.nmbarang, barang.harga, detail_penjualan.nofaktur, detail_penjualan.jumbel FROM barang INNER JOIN detail_penjualan ON barang.kdbarang=detail_penjualan.kdbarang WHERE detail_penjualan.nofaktur='f0001'; Hasilnya :
LATIHAN QUERY DI MODUL HALAMAN 16 1. Berdasarkan database Koperasi yang telah dibuat, buatlah Query dari tabel Penjualan dan tabel Karyawan menggunakan sintaks SQL pada SQL View di toolbars View. Tampilkan data penjualan karyawan dengan NIK 200803618 dengan perintah SELECT SELECT penjualan.nofaktur, penjualan.tglfaktur, penjualan.nik, karyawan.nmkaryawan, karyawan.bagian FROM penjualan INNER JOIN karyawan ON penjualan.nik=karyawan.nik WHERE karyawan.nik='200803618';
Bonus Jika membeli barang dengan kode barang B001 maka mendapat bonus 1 Pcs Kopi ABC Susu, selain itu mendapat 1 Pcs permen Kopiko. 2. Berdasarkan database Koperasi yang telah dibuat, buatlah Query dari tabel Barang dan tabel Detail_Penjualan menggunakan sintaks SQL pada SQL View di toolbars View. Field Asal Tabel Total : Harga X Jumbel Nofaktur Diskon Jika Total > Rp 50.000, maka mendapat diskon 15% dari Total Jika Total > Rp 30.000, maka mendapat diskon 10% dari Total Jika Total > Rp 20.000, maka mendapat diskon 7% dari Total Selain itu mendapat diskon 5% dari Total. Kdbarang Nmbarang Satuan Harga Jumbel Total Diskon Bonus Detail_penjualan Detail_penjualan Barang Barang Barang Detail_penjualan Ekspresi Ekspresi Ekspresi
Sintaks SQL : SELECT detail_penjualan.nofaktur, detail_penjualan.kdbarang, barang.nmbarang, barang.satuan, barang.harga, detail_penjualan.jumbel, barang.harga * detail_penjualan.jumbel as total, iif(total>5000,0.15*total,iif(total>3000,0.10*total,iif(total>2000,0.07*total,0.05*to tal))) as diskon, iif(barang.kdbarang="b001","1 Pcs Kopi ABC Susu","1 Pcs permen Kopiko") as bonus FROM detail_penjualan INNER JOIN barang ON detail_penjualan.kdbarang=barang.kdbarang; Hasilnya :
*** Terimakasih ***