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. Field
Asal Tabel
nmkaryawan karyawan nofaktur
penjualan
tglfaktur
penjualan
Sintaks SQL :
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
penjualan
nmbarang
barang
harga
barang
jumbel
detail_penjualan
total
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 nofaktur
Asal Tabel 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)
Outer Join 2. Right 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 nofaktur
Asal Tabel 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 Hasilnya :
untuk menjalankan
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';
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
Total : Harga X Jumbel
Asal Tabel
Nofaktur
Detail_penjualan
Kdbarang
Detail_penjualan
Nmbarang
Barang
Satuan
Barang
Harga
Barang
Jumbel
Detail_penjualan
Total
Ekspresi
Diskon
Ekspresi
Bonus
Ekspresi
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. Bonus Jika membeli barang dengan kode barang B001 maka mendapat bonus 1 Pcs Kopi ABC Susu, selain itu mendapat 1 Pcs permen Kopiko.
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 ***