Anda di halaman 1dari 4

E:\pengajaran\MateriKuliah\Basisdata\TSQL\LatihanSelect.

sql 02 Maret 2013 15:23

/* MENAMPILKAN ISI TABEL */

--SELECT

--Menampilkan semua data--

--Tampilkan semua isi tabel customer


select * from t_customer

--Tampilkan semua isi tabel pembelian dan supplier


select * from t_beli,t_supplier

--Menampilkan data tertentu--


--Tampilkan nama customer yang di awali dengan A
select * from t_customer where ct_nama like 'A%'

--Tampilkan nama customer yang di awali dengan B


select * from t_customer where ct_nama like 'B%'

--Tampilkan nama customer yang huruf awalnya 'E' atau 'F'


select * from t_customer where left(ct_nama,1) in ('E','F')

--Tampilkan nama customer yang di awali dengan A,B atau


select * from t_customer where ct_nama like '[A-C]%'

--Tampilkan nama customer yang tidak di awali dengan A,B atau


select * from t_customer where ct_nama not like '[A-C]%'
--atau
select * from t_customer where ct_nama like '[^A-C]%'

--Tampilkan nama customer yang di awali dengan AB tepat 4 karakter


--where line 'AB dan underscore 2 kali maka akan tampil ABCD tetapi apabila
--ditambah uderscore 3 kali maka tidak akan tampil
select * from t_customer where ct_nama like 'AB__'

--Tampil fax customer sama degan null


select * from t_customer where ct_fax is null

--Tampil fax customer yang tidak null


select * from t_customer where ct_fax is not null

--Tampilkan barang dan urutkan (oder) berdasarkan nama dari A ke Z


select * from t_barang order by br_nama

--Tampilkan barang dan urutkan (oder) berdasarkan nama dari Z ke A


select * from t_barang order by br_nama DESC

--Tampilkan 3 record pertama dari tabel barang


Select top 3 * from t_barang

--Tampilkan stock barang terbanyak


-1-
E:\pengajaran\MateriKuliah\Basisdata\TSQL\LatihanSelect.sql 02 Maret 2013 15:23

Select top 1 * from t_barang order by br_stock_skrg DESC


--atau
Select max( br_stock_skrg ) from t_barang
--atau dengan label JUMLAH STOCK
Select max( br_stock_skrg ) as 'JUMLAH STOCK' from t_barang

--Tampilkan Kode Barang, Nama Barang dan Jumlah Stock


select br_kode,br_nama,br_stock_skrg from t_barang

--Tampilkan semua barang yang jumlah stocknya lebih besar dari 10


select * from t_barang where br_stock_skrg > 10

--Tampilkan semua data Barang yang huruf awalnya 'E' atau 'F' dan jumlah stock kurang
dari 10
select * from t_barang where left(br_nama,1) in ('E','F') and br_stock_skrg < 10

--Tampilkan kode dan nama barang yang huruf awal nama lebih besar atau sama dengan N
select br_kode,br_nama from t_barang where left(br_nama,1) >= 'N'

--Tampilkan semua data supplier diluar Jakarta dan nama awalnya diawali dengan huruf N
select * from t_supplier where sp_alamat3 <> 'Jakarta' and left(sp_nama,1) = 'K'

--tampilkan satu kali (distinct) kode supplier dalam tabel t_beli


select distinct(sp_kode)from t_beli

--tampilkan dalam periode tertentu


select distinct(sp_kode)from t_beli where bl_tgl >= '10/01/2001' and bl_tgl <= '10/31/2001'
--atau dengan between
select distinct(sp_kode)from t_beli where bl_tgl between '10/01/2001' and '10/31/2001'

--Pengelompokan Data--
--Tampilkan Supplier dari Pembelian, -->error karena pada
--parameter group by tidak diikutsertakan semua kolom yang ditampilkan
select sp_kode,bl_no from t_beli group by sp_kode
--penulisan yang benar adalah
select sp_kode,bl_no from t_beli group by sp_kode,bl_no

--Tampilkan berapa kali suatu Supplier malakukan transaksi


select sp_kode,count(sp_kode)as frekuensi from t_beli group by sp_kode

--Group by dan having (having = where)


--akan error karena group by berlawanan degnan having
select sp_kode,count(sp_kode)as frekuensi from t_beli group by sp_kode where sp_kode =
'00001'
--seharusnya
select sp_kode,count(sp_kode)as frekuensi from t_beli group by sp_kode having sp_kode =
'00001'

/*JOIN*/

--Inner join / natural join / equel join -> kedua table mempunyai nilai yang sama yaitu
-2-
E:\pengajaran\MateriKuliah\Basisdata\TSQL\LatihanSelect.sql 02 Maret 2013 15:23

melihat dari 2 sisi


select t_barang.br_kode,br_nama,bd_jumlah,bd_harga,( bd_jumlah * bd_harga ) as 'JML HARGA'
from t_barang
inner join t_beli_detil on t_barang.br_kode = t_beli_detil.br_kode

--gunakan alis untuk memperpendek penulisan nama tabel


select a.br_kode,br_nama,bd_jumlah,bd_harga,( bd_jumlah * bd_harga ) as 'JML HARGA'
from t_barang a
inner join t_beli_detil b on a.br_kode = b.br_kode

--inner joint dengan operator =


select a.br_kode,br_nama,bd_jumlah,bd_harga,( bd_jumlah * bd_harga ) as 'JML HARGA'
from t_barang a, t_beli_detil b
where a.br_kode = b.br_kode

--Tampilkan data pembelian dengan no faktur Fak01


select a.br_kode,br_nama,bd_jumlah,bd_harga,( bd_jumlah * bd_harga ) as 'JML HARGA'
from t_barang a, t_beli_detil b
where a.br_kode = b.br_kode and b.bl_no = 'Fak01'

--Tampilkan data pembelian dengan kode supplier 00002 (joint 3 tabel)


select a.sp_kode,b.br_kode,br_nama,bd_jumlah,bd_harga,( bd_jumlah * bd_harga ) as 'JML
HARGA'
from t_beli a,t_beli_detil b,t_barang c
where a.bl_no = b.bl_no and b.br_kode = c.br_kode and a.sp_kode = '00002'

--Menampilkan jumlah transaksi yang dilakukan oleh supplier


select a.sp_kode,sp_nama,sp_alamat1,count(a.sp_kode) as Frekunsi
from t_beli a inner join t_supplier b on a.sp_kode = b.sp_kode
group by a.sp_kode,sp_nama,sp_alamat1

--Outer join -> melihat dari satu sisi--


--jumlah data yang ditampilkan 3 data (semua data mscustomer)
select a.sp_kode,bl_no
from t_supplier a left outer join t_beli b on a.sp_kode = b.sp_kode
--atau
select a.sp_kode,bl_no
from t_supplier a,t_beli b
where a.sp_kode *= b.sp_kode

--Right joint---
select a.sp_kode,bl_no
from t_supplier a,t_beli b
where a.sp_kode =* b.sp_kode

--full join menampilkan semua data kiri/kanan


select a.sp_kode,bl_no
from t_supplier a full join t_beli b on a.sp_kode = b.sp_kode

--cross join mengalikan/menggabungkan 2 buah isi tabel


--3 mscustomer dan 2 transaksi maka hasilnya adalah 6 row (record)
-3-
E:\pengajaran\MateriKuliah\Basisdata\TSQL\LatihanSelect.sql 02 Maret 2013 15:23

select a.sp_kode,bl_no
from t_supplier a cross join t_beli b

-4-