Anda di halaman 1dari 12

Created By Uus Rusmawan

BAB 12 QUERY MENGGUNAKAN SQL SQL adalah sebuah bahasa yang dirancang untuk dapat berkomunikasi dengan database. SQL singkatan dari Structured Query Language. Mengolah data tanpa menguasai SQL ibarat berperang tanpa senjata. Itulah motto penulis. SQL terbagi menjadi dua bagian yaitu DDL dan DML. DDL singkatan dari Data Definition Language, yaitu perintah SQL yang digunakan untuk memodifikasi konstruksi database berupa membuat database, tabel, index, menghapus database, tabel, index dan sejenisnya. DML singkatan dari Data Manipulation Language, yaitu perintah SQL yang berhubungan dengan data (record) berupa mengentri, mengedit, menghapus, memilih, mengelompokkan, menggabungkan dan sejenisnya. 12.1 Persiapan Menggunakan SQL Database yang akan dijadikan target adalah DBJualNet1.mdb di posisi C:\Pemrograman VB.NET\Program 6 Penjualan Access\bin. Beberapa hal yang perlu diperhatikan dalam melakukan query dengan SQL adalah: 1. Dilarang membuat (memberi nama) database, tabel atau field dengan nama yang sama pada KeyWord SQL karena akan terjadi konflik. Berikut kami sajikan beberapa keyword SQL. No 1 2 3 4 5 6 7 8 9 10 Keywor d Asc And As Avg Beetwen By Count Delete Desc FROM No 11 12 13 14 15 16 17 18 19 20 Keywor d In Inner Input Insert Into Join Like Max Min Not No 21 22 23 24 25 26 27 28 29 30 Keyword Null Or Order SELECT Size Sum Update Value WHERE Dan lainlain

2.

Penulisan nama tabel dan field harus tepat, jika tidak maka SQL akan menampilkan pesan error (tapi jangan khawatir karena program dirancang dengan error handling). Silakan lihat kembali struktur database tersebut di bab sebelumnya bagian awal (Rancangan Database)

Dalam buku ini perintah yang banyak digunakan adalah Pencarian Data, apakah itu menampilkan data, mengurutkan dan lain-lain. Perintah yang paling dominan dalam pembahasan ini adalah SELECT, yaitu suatu perintah untuk mencari (menampilkan) data yang diinginkan dari tabel tertentu. Syntax umumnya adalah sebagai berikut : SELECT namafield FROM namatabel IN direktori WHERE kondisi GROUP BY namafield HAVING group criteria ORDER BY namafield Setelah memahami beberapa persyaratan di atas, buatlah sebuah project baru lalu buatlah sebuah form seperti gambar 12.1.

181

Created By Uus Rusmawan

Gambar 12.1 Form Latihan DML SQL Coding Imports System.Data Imports System.Data.OleDb Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() InitializeComponent() End Sub ... ... #End Region Dim Dim Dim Dim Dim Conn As OleDbConnection Cmd As OleDbCommand DA As OleDbDataAdapter DS As New DataSet StrConn, StrSQL As String

Sub Koneksi() StrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Pemrograman VB.NET\Program 6 Penjualan Access\bin\DBJualNet1.Mdb" StrSQL = "select * from Barang " Conn = New OleDbConnection(StrConn) Cmd = New OleDbCommand(StrSQL, Conn) Conn.Open() End Sub Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress 182

Created By Uus Rusmawan

'buatlah penanganan kesalahan On Error GoTo errorhandler 'jika menekan ESC program berakhir If e.KeyChar = Chr(27) Then Me.Close() 'jika menekan enter setelah menulis syntax sql, maka... If e.KeyChar = Chr(13) Then 'buka koneksi ke database Call Koneksi() 'buat dataadapter baru DA = New OleDbDataAdapter(Cmd) 'isi dataadapter bergantung pada syntax sql yang diketik StrSQL = TextBox1.Text 'bersihkan isi dataset dari data DS.Clear() 'isi dataadapter bergantung pada syntax sql yang diketik DA.SelectCommand.CommandText = StrSQL 'isi dataadapter sesuai syntax sql DA.Fill(DS, "StrSql") 'definisikan tabel baru Dim TBL As DataTable = DS.Tables(0) 'jika data tidak ditemukan If TBL.Rows.Count = 0 Then 'tampilkan pesan MessageBox.Show("Data tidak ditemukan") 'kembali ke text1 TextBox1.Focus() Else jika ditemukan tampilkan jumlah recordnya Label2.Text = TBL.Rows.Count & " Record" End If 'jika ditemukan tampilkan data di datagrid DataGrid1.SetDataBinding(DS, "StrSql") End If Exit Sub errorhandler: 'jika salah syntax tampilkan pesan MessageBox.Show("Salah syntax, tulis syntax SQL dgn benar") 'kembali ke text1 TextBox1.Focus() End Sub End Class

12.2 Mencari data dengan klausa SELECT Setelah membuat rancangan form seperti gambar di atas dan baris-baris programnya telah dipahami, maka cobalah perintah perintah SQL di bawah ini dengan catatan kami tidak akan menjelaskan hasil yang ditampilkan oleh tiap perintah, silakan dilihat dalam Datagrid dan disimpulkan sendiri. SELECT KodeBrg FROM Barang SELECT KodeBrg,NamaBrg FROM Barang SELECT KodeBrg,NamaBrg,HargaBeli FROM Barang SELECT KodeBrg,NamaBrg,HargaBeli,HargaJual FROM Barang

183

Created By Uus Rusmawan

SELECT KodeBrg,NamaBrg,HargaBeli,HargaJual,JumlahBrg FROM Barang Perintah di atas secara berturut-turut berfungsi untuk menampilkan kolom KodeBrg, NamaBrg, HargaBeli, HargaJual dan JumlahBrg dari tabel Barang Perintah di atas dirasakan terlalu panjang dan kemungkinan kesalahan penulisan nama field akan lebih besar, untuk menghasilkan data yang sama SQL memberikan perintah yang lebih singkat yaitu: SELECT * FROM Barang SELECT KodeBrg,HargaJual,JumlahBrg FROM Barang SELECT JumlahBrg,KodeBrg FROM Barang Untuk menampilkan kolom tidak harus terurut sesuai kondisi field asli dalam tabel. Kita boleh memilih kolom secara acak. 12.3 Mengurutkan data dengan klausa ORDER BY Dalam perintah ini terdapat dua pilihan yang dapat digunakan yaitu ASC (singkatan dari ASCENDING) yang berfungsi untuk mengurutkan data dari yang terkecil hingga yang terbesar dan DESC (singkatan dari DESCENDING) yang berfungsi untuk mengurutkan data dari yang terbesar hingga yang terkecil. Jika DESC tidak disertakan maka secara otomatis perintah ASC akan dijalankan. SELECT * FROM Barang ORDER BY KodeBrg SELECT * FROM Barang ORDER BY KodeBrg,NamaBrg SELECT * FROM Barang ORDER BY NamaBrg,HargaJual SELECT * FROM Barang ORDER BY KodeBrg,JumlahBrg Pada perintah ORDER BY, SQL akan secara otomatis memberikan nilai ASC, yaitu mengurutkan data dari yang terkecil hingga yang terbesar. Cobalah perintah berikut ini. SELECT * FROM Barang ORDER BY NamaBrg DESC Fungsi: menampilkan seluruh data (field) di tabel Barang yang diurutkan berdasarkan nama Barang secara descending. Cara lain yang dapat digunakan untuk melakukan hal yang sama adalah dengan menuliskan nilai kolomnya. Dalam hal ini KodeBrg dianggap kolom 1, NamaBrg kolom 2 dan seterusnya, jadi perintah SQL yang ditulis adalah : SELECT * FROM Barang ORDER BY 1,2 SELECT * FROM Barang ORDER BY 1 SELECT * FROM Barang ORDER BY 3 SELECT * FROM Barang ORDER BY 4 Desc

184

Created By Uus Rusmawan

Klausa ORDER BY harus disimpan setelah klausa WHERE (jika ada), atau disimpan di posisi terakhir dari perintah SQL, karena jika penempatannya tidak benar maka akan muncul pesan kesalahan. Jika Anda menuliskan perintah ASC atau DESC maka perintah tersebut akan dilakukan pada nama field terdekat. Sebagai contoh : SELECT * FROM Barang ORDER BY HargaJual ,JumlahBrg Desc Fungsi : menampilkan seluruh kolom di tabel Barang yang diurutkan pertama berdasarkan harga jual (secara otomatis bernilai asc) kemudian diurutkan berdasarkan jumlah secara descending. Dalam mengurutkan data tidak ada aturan baku bahwa menuliskan nilai kolom dalam ORDER BY harus dimulai dari yang terkecil atau yang terbesar, jadi Anda dapat dengan bebas menuliskan nomor kolom yang dibutuhkan untuk menemukan data yang dicari. 12.4 Mencari Data Dengan Klausa WHERE Mencari data yang diinginkan dengan tingkat keakuratan yang tinggi merupakan hal yang tidak kalah pentingnya dibandingkan dengan mengurutkan data. Dalam hal ini Anda akan menggunakan klausa WHERE. Klausa ini harus diikuti dengan nama field dan menuliskan kriteria yang diinginkan. SELECT KodeBrg FROM Barang WHERE KodeBrg=BRG001 Fungsi : menampilkan kolom KodeBrg dengan kode Barang =BRG001 SELECT KodeBrg,NamaBrg FROM Barang WHERE KodeBrg=SUSU BENDERA Fungsi : menampilkan kolom KodeBrg dan NamaBrg dengan nama Barang =Susu Bendera Dengan perintah di atas data yang ditampilkan hanya terbatas pada nama-nama field yang ditulis setelah pernyataan SELECT saja. Satu hal yang perlu diketahui bahwa menggunakan klausa WHERE ini tidak selamanya harus mencari data yang nama kolomnya disebut setelah pernyataan SELECT. Contoh : SELECT KodeBrg,NamaBrg,HargaBeli,JumlahBrg JumlahBrg>60 FROM Barang WHERE

Fungsi : menampilkan kolom KodeBrg, NamaBrg dan Harga Beli dan jumlah barang yang jumlah barangnya > 60 SELECT * FROM Barang WHERE HargaJual >2000 Fungsi : menampilkan seluruh kolom dengan harga jual >2000 12.5 Menggunakan Klausa AND Klausa AND ini digunakan untuk mencari dua data atau lebih yang diinginkan, selain itu Anda dapat menggunakan tambahan operator aritmatika sebagai pembanding untuk mencari data yang diinginkan.

185

Created By Uus Rusmawan

Operator > >= < <= <>

Fungsi Lebih besar Lebih besar sama dengan Lebih kecil Lebih kecil sama dengan Tidak sama dengan

SELECT * FROM Barang WHERE HargaBeli >2000 AND HargaBeli<5000 Fungsi : menampilkan seluruh kolom dengan harga beli >2000 dan harga beli<5000 SELECT * FROM Barang WHERE HargaJual>3000 AND JumlahBrg>10 Fungsi : menampilkan seluruh kolom dengan Harga jual > 3000 dan Jumlah Barang> 10

Jika Anda menggunakan operator AND, maka setelah kata AND Anda harus menuliskan kembali nama field yang akan dijadikan pencarian kedua, ketiga dan seterusnya, jika setelah kata AND tidak ditulis kembali nama field yang dijadikan rujukan pencarian maka akan muncul pesan kesalahan. Penggunaan operator AND dapat dilakukan berulang-ulang (beberapa kali dalam satu baris) selama memungkinkan dan selama syntaxnya benar sesuai dengan aturan penulisan perintah SQL. Contoh : SELECT * FROM Barang WHERE HargaBeli>=1000 AND HargaBeli<4500 AND JumlahBrg>50 AND JumlahBrg<90 Fungsi : menampilkan seluruh kolom dengan HargaBeli >=1000 dan Harga beli<4500 dan Jumlah barang >50 dan Jumlah <90 12.6 Menggunakan Klausa OR SELECT * FROM Barang WHERE KodeBrg=BRG001 OR JumlahBrg >60 Fungsi : menampilkan seluruh kolom dengan kode Barang=BRG001 atau Jumlah >60 12.7 Menggunakan klausa NOT Perintah ini digunakan untuk mengabaikan (tidak ditampilkan) data yang dicari dengan klausa NOT SELECT * FROM Barang WHERE NOT KodeBrg=BRG001 Fungsi : menampilkan seluruh kolom dengan kode Barang bukan BRG001 Penggunkaan klausa ini sama dengan perintah berikut : SELECT * FROM Barang WHERE KodeBrg<>BRG001

186

Created By Uus Rusmawan

Perbedaannya terletak pada penempatan penulisannya, jika menggunakan klausa NOT maka kata NOT ditulis setelah Klausa WHERE sebelum nama field, tapi jika menggunakan operator aritmatika maka tanda <> (tidak sama dengan) disimpan setelah nama field dan sebelum kriteria data yang dicari. 12.8 Menggunakan Klausa IN Perintah ini sama dengan operator OR yang artinya tampilkanlah data pertama atau data kedua, dan seterusnya. Contoh : SELECT * FROM Barang WHERE KodeBrg IN('BRG001','BRG006') Fungsi : menampilkan seluruh kolom dengan kode Barang BRG001 atau BRG006 Perintah di atas sama dengan perintah di bawah ini : SELECT * FROM Barang WHERE KodeBrg=BRG001 OR KodeBrg=BRG006 SELECT * FROM Barang WHERE NOT KodeBrg IN(BRG001,BRG006) Fungsi : menampilkan seluruh kolom dengan kode Barang yang bukan BRG001 dan BRG006

SELECT * FROM Barang WHERE NOT JumlahBrg IN(60) Fungsi : menampilkan seluruh kolom yang jumlahnya bukan 60 12.9 Menggunakan Operator LIKE dan Wildcard (% _ [] ) Operator ini digunakan untuk mencari data dengan menuliskan salah satu atau beberapa karakter yang diinginkan. Operator ini sangat bermanfaat dalam melakukan pencarian data dengan tingkat spesifikasi yang cukup tinggi, karena dengan Wildcard Anda dapat menemukan satu huruf yang diinginkan, tidak peduli apakah huruf tersebut terletak di tengah, di depan atau di belakang sebuah item data. Bahkan dengan Wildcard tersebut Anda dapat mengabaikan satu atau beberapa karakter yang tidak diinginkan. Select * From Barang Where Namabrg Like '%E%' Fungsi : menampilkan seluruh kolom di tabel Barang dengan nama Barang yang mengandung huruf E dan huruf di depan atau di belakangnya apa saja. Perhatikanlah perintah di atas dengan baik!. Penulisan huruf E diapit dengan tanda % (persen) yang artinya mengabaikan huruf yang berada di depan dan di belakangnya, dengan demikian jika pada kolom nama Barang terdapat data yang mengandung huruf E, maka data tersebut akan ditampilkan. Penulisan klausa LIKE dalam VB.NET boleh menggunakan tanda atau tanda , tetapi Anda tidak dibenarkan menuliskan dengan dua lambang yang berbeda yaitu di depan dengan tanda tetapi di belakang dengan tanda dan sebaliknya. SELECT * FROM Barang WHERE NamaBrg LIKE K%

187

Created By Uus Rusmawan

Fungsi: menampilkan seluruh kolom di tabel Barang dengan nama Barang yang huruf depannya K dan selanjutnya huruf apa saja. SELECT * FROM Barang WHERE NamaBrg LIKE %S Fungsi : menampilkan seluruh kolom di tabel Barang dengan nama Barang yang huruf belakangnya S dan sebelumnya huruf apa saja. Wildcard dengan tanda % dalam SQL digunakan untuk mengabaikan huruf apa saja yang ada di depan atau di belakangnya dengan jumlah huruf yang tidak terbatas. Perintah di atas (tanda %) dapat digunakan untuk mencari data yang mengandung huruf apa saja yang diinginkan yang posisinya di tengah, dan dapat juga digunakan untuk mencari huruf depan atau huruf belakang (huruf terakhir). SELECT * FROM Barang WHERE NamaBrg LIKE _U% Fungsi : menampilkan seluruh kolom di tabel Barang dengan nama Barang yang huruf depannya (satu huruf) apa saja, huruf keduanya U dan huruf selanjutnya apa saja. SELECT * FROM Barang WHERE NamaBrg LIKE __M* Fungsi : menampilkan seluruh kolom di tabel Barang dengan nama Barang yang dua huruf depannya apa saja, huruf ketiganya M dan huruf selanjutnya apa saja. Tanda _ digunakan untuk mengabaikan sejumlah karakter. Jika Anda menulis tanda _ sebanyak dua buah berarti Anda mengabaikan dua huruf. Jadi pengabaian jumlah karakter tergantung pada berapa jumlah tanda _ (underscore) yang ditulis dan di posisi mana tanda tersebut diletakkan. SELECT * FROM Barang WHERE NamaBrg LIKE [KS]% Fungsi : menampilkan seluruh kolom dimana nama depannya diawali dengan huruf K atau huruf S dan nama belakangnya apa saja. Dengan menggunakan tanda [ ] berarti Anda mencari huruf dengan pilihan tergantung huruf apa yang dicantumkan dalam tanda kurung siku tersebut. pada contoh di atas, karena tanda [ ] diakhiri dengan tanda % yang diletakkan di luar, maka artinya Anda mencari huruf awal dengan pilihan huruf yang ada pada tanda [ ] dengan huruf berikutnya apa saja. 12.10 Menggunakan Perhitungan Matematis Pada kesempatan ini akan dicoba menggunakan perintah matematis. Pada tabel Barang tidak terdapat Total Harga sebagai hasil perkalian antara Harga dengan Jumlah, namun dengan perintah SQL dapat ditampilkan hasil perhitungan matematis tersebut. SELECT KodeBrg,NamaBrg,HargaJual,JumlahBrg,HargaJual*JumlahBrg FROM Barang AS Total

Fungsi : menampilkan seluruh kolom di tabel Barang dimana HARGA Jual * Jumlah barang sebagai field (kolom) baru yaitu TOTAL

188

Created By Uus Rusmawan

SELECT *,HargaJual*JumlahBrg AS Total FROM Barang SELECT HargaJual,JumlahBrg,HargaJual*JumlahBrg AS Total FROM Barang WHERE Jumlah>60 12.11 Mengelompokan Data Dengan klausa Group By SELECT HargaBeli,Sum(HargaBeli) AS Gabung FROM Barang GROUP BY HargaBeli Fungsi : menampilkan kolom Harga beli yang jumlahnya sama digabungkan disimpan dalam field (kolom) baru bernama Gabung SELECT HargaBeli, Count(HargaBeli) AS Jumlah FROM Barang GROUP BY HargaBeli Fungsi : kelompokan Harga beli dan hitung berapa jumlah harga beli yang sama dimana hasil perhitungannya harga beli yang sama disimpan pada field baru bernama Jumlah. SELECT Count(*) AS JumlahData FROM Barang Perintah ini digunakan untuk menghitung jumlah data (baris) dari seluruh field. SELECT Count(*) AS JumlahData FROM Barang WHERE JumlahBrg >70 Perintah ini digunakan untuk menghitung jumlah data dari seluruh field dengan jumlah barangnya >70. SELECT Max(HargaJual) AS Terbesar FROM Barang Fungsi : menampilkan nilai terbesar dari kolom Harga jual yang ada di tabel Barang dan disimpan dalam sebuah kolom baru dengan nama Terbesar. SELECT Min(HargaBeli) AS Terkecil FROM Barang SELECT Count(*) AS Jumlah, Max(HargaBeli) AS Terbesar, Min(HargaJual) AS Terkecil FROM Barang Perintah di atas digunakan untuk menampilkan jumlah seluruh data yang disimpan dalam field baru yaitu Jumlah, harga beli terbesar disimpan dalam field Terbesar dan harga jual terkecil pada field Terkecil. 12.12 Menggunakan Data Tanggal Menampilkan data tanggal dapat dilakukan dengan beberapa cara, yaitu CDATE dan DATEVALUE dan #mm-dd-yy#. Tabel yang mengandung data tanggal adalah tabel penjualan. SELECT * FROM Penjualan WHERE CDATE (Tanggal)=16/07/07 Fungsi : menampilkan data Penjualan yang terjadi pada Tanggal 16-Juli-2007. Sebelum field Tanggal ditulis CDATE, hal ini dilakukan karena data Tanggal yang diketik berupa karakter, maka Anda harus mengubah data Tanggal yang ada pada tabel Penjualan ke bentuk string.

189

Created By Uus Rusmawan

Cara lain yang dapat dilakukan adalah mengubah bentuk karakter Tanggal menjadi bentuk nilai Tanggal yaitu dengan perintah DATEVALUE. SELECT * FROM Penjualan WHERE Tanggal=DateValue(21/07/07) Perintah tersebut mempunyai arti sebaliknya dari perintah sebelumnya, pada perintah CDATE berarti mengubah bentuk data Tanggal di dalam tabel Penjualan menjadi bentuk karakter, tetapi dengan perintah DATEVALUE berarti mengubah bentuk text SQL menjadi bentuk nilai Tanggal karena data Tanggal yang ada dalam tabel nilai default-nya adalah date dengan format dd/mm/yy. Select Tanggal From Penjualan Where Tanggal=#07-10-07# SELECT * FROM Penjualan WHERE CDATE (Tanggal)>10/07/07 AND CDATE (Tanggal) <20/07/07 Fungsi : menampilkan data Penjualan dengan Tanggal lebih besar dari Tanggal 16 Juli 2007 dan lebih kecil dari Tanggal 20 Juli 2007. 12.12.1 Mengambil Data (Hari) Tanggal SELECT * FROM Penjualan WHERE CDATE (DAY (Tanggal))<=17 Fungsi : menampilkan data Penjualan dengan Tanggal faktur lebih kecil sama dengan Tanggal 17 12.12.2 Mengambil Data Bulan SELECT * FROM Penjualan WHERE CDATE (MONTH (Tanggal))=06 Fungsi : menampilkan data Penjualan yang dilakukan pada bulan Juni. SELECT * FROM Penjualan WHERE CDATE (DAY (Tanggal))>17 AND CDATE (MONTH (Tanggal))=07 Fungsi : Tampilkanlah data Penjualan dengan Tanggal faktur lebih besar dari Tanggal 17 dan bulan transaksi sama dengan Juli. 12.12.3 Mengambil Data Tahun SELECT * FROM Penjualan WHERE CDATE (YEAR (Tanggal))=07 Fungsi : menampilkan data Penjualan yang dilakukan pada TAHUN 2007. 12.13 Menggabungkan Tabel Dengan perintah SQL Anda dapat mengambil data dari beberapa tabel. Cara ini dirasakan sangat berguna untuk merelasikan data yang diinginkan. Diingatkan kembali bahwa dalam buku ini hanya ada empat tabel yaitu tabel Barang, Kasir, Penjualan dan Detail dan Anda harus mengingat kembali nama-nama field yang ada pada tiap tabel tersebut. Dalam kondisi penggabungan ini, field yang dijadikan relasi jangan ditulis setelah SELECT sebelum WHERE karena akan memunculkan pesan kesalahan, kecuali jika ditulis dengan tanda * atau degan menyebut nama tabel induknya.

190

Created By Uus Rusmawan

Contoh syntax yang salah: Select KODEBRG,NamaBrg,JmlJual from Barang,Detail where kodebrg=BRG001 Select NamaKsr,KODEKSR, Tanggal from penjualan,kasir where kodeksr=KSR02 Contoh syntax yang benar: SELECT * FROM Penjualan,Kasir Fungsi : menampilkan seluruh field dari tabel Penjualan dan tabel Kasir SELECT * FROM Penjualan,Kasir WHERE Penjualan.KodeKsr=Kasir.KodeKsr Fungsi : menampilkan seluruh field dari tabel Penjualan dan tabel Kasir dengan kode Kasir yang ada di tabel Penjualan sama dengan kode Kasir yang ada di tabel Kasir. SELECT NamaBrg,HargaJual,JmlJual FROM Detail,Barang WHERE Detail.KodeBrg=Barang.KodeBrg Fungsi : menampilkan nama Barang, harga jual, jumlah jual dari tabel Detail, dan tabel Barang yang kode Barang di tabel Detail sama dengan kode Barang di tabel Barang. SELECT Distinct NamaBrg,HargaJual,JmlJual, HargaJual*JmlJual AS Total FROM Detail Inner Join Barang On Detail.KodeBrg=Barang.KodeBrg Fungsi : menampilkan satu saja nama Barang, harga jual, jumlah jual dan Total (sebagai hasil perkalian antara harga jual dengan jumlah jual) dari tabel Detail dan tabel Barang yang kode Barang di tabel Detail sama dengan kode Barang di tabel Barang. Hal yang sama seperti di atas dapat dilakukan dengan perintah di bawah ini : SELECT Distinct NamaBrg,HargaJual,JmlJual,HargaJual*JmlJual AS Total FROM Penjualan,Detail,Barang WHERE Detail.KodeBrg=Barang.KodeBrg SELECT Faktur,NamaBrg,HargaJual,JmlJual,HargaJual*JmlJual AS Total FROM Detail Inner Join Barang On Detail.KodeBrg=Barang.KodeBrg WHERE faktur='0707110001' Fungsi : menampilkan faktur, nama Barang, harga jual, jumlah jual dan Total (sebagai hasil perkalian) dari tabel Detail dan tabel Barang yang kode Barangnya sama di tabel Detail dan tabel Barang dan nomor fakturnya 0707110001. SELECT Barang.NamaBrg,Barang.HargaJual,Detail.JmlJual,Barang.HargaJual*Detail.JmlJual as Total FROM Barang,Detail WHERE faktur='0707210001' and Detail.KodeBrg=Barang.KodeBrg Fungsi : menampilkan nama Barang, harga jual, jumlah jual dan Total dengan nomor faktur 0707210001

191

Created By Uus Rusmawan

SELECT Distinct NamaBrg,HargaJual,JmlJual, HargaJual*JmlJual AS Total FROM Detail,Penjualan,Barang WHERE Detail.KodeBrg=Barang.KodeBrg and KodeKsr='KSR03' Fungsi : menampilkan nama Barang, harga jual,jumlah jual dan Total dengan kode Kasir KSR03

192

Anda mungkin juga menyukai