Anda di halaman 1dari 14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

<GunakanMySQLGUIAlat|MainJava&Gang|MySQLDMLpraktek2Bagian1>

MySQLdanNetBeansPraktek:
DatabaseManipulationLanguage(DML)1
Isi:
MySQLSELECTPRAKTEK
BeberapaPertanyaanUlasan
1.ApakahduakomponenutamadariSQLdanapafungsimerekamelayani?
2.ApakeuntungandankerugiandariSQL?
3.MenjelaskanfungsidarimasingmasingklausadalamlaporanSELECT.Apakahpembatasandikenakanpadaklausul
ini?
4.PembatasanapayangberlakuuntukpenggunaanfungsiagregatdalampernyataanSELECT?Bagaimananulls
mempengaruhifungsiagregat?
5.JelaskanbagaimanaklausaGROUPBYbekerja.ApaperbedaanantaraWHEREdanHAVINGklausa?
6.Apaperbedaanantarasubquerydanjoin?DalamkeadaanapayangakanAndatidakdapatmenggunakan
subquery?
SQLQueryLatihanMenggunakanNetBeans6.xxMembuatdanInsert
PelaksanaSQLQueryLatihan
1.Daftarrincianlengkapdarisemuahotel.
2.DaftarrincianlengkapdarisemuahoteldiLondon.
3.DaftarnamadanalamatdarisemuatamudiLondon,abjaddiperintahkanolehnama.
4.Daftarsemuakamardoubleataukeluargadenganhargadibawah40,00permalam,dalamurutanharga.
5.Daftarpemesananyangtidakadadate_totelahditentukan.
Fungsiagregat
Berapabanyakhotelyangada?
Berapahargarataratakamar?
Berapatotalpendapatanpermalamdarisemuakamarganda?
BerapabanyaktamuyangberbedatelahmembuatpemesananuntukAgustus?
SubqueriesdanBergabung
1.DaftarhargadanjenissemuakamardiGrosvenorHotel.
2.DaftarsemuatamusaatinitinggaldiGrosvenorHotel.
3.DaftarrinciansemuakamardiGrosvenorHotel,termasuknamatamuyangtinggaldidalamruangan,jikaruangan
ditempati.
4.BerapatotalpendapatandaripemesananuntukGrosvenorHotelhariini?
5.DaftarkamaryangsaatinikosongdiGrosvenorHotel.
6.ApapendapatanyanghilangdarikamarkosongdiGrosvenorHotel?
Pengelompokan
1.Daftarjumlahkamardimasingmasinghotel.
2.DaftarjumlahkamardisetiaphoteldiLondon.
3.BerapajumlahrataratapemesananuntukmasingmasinghotelpadabulanApril?
4.ApajeniskamaryangpalingseringdipesanuntukmasingmasinghoteldiLondon?
5.Apapendapatanyanghilangdarikamarkosongdimasingmasinghotelhariini?
MembuatdanMengisiTabelDengandata
1.MenggunakanpernyataanCREATETABLE,membuattabelHotel,Room,PemesanandanGuest.
2.Menyisipkancatatankemasingmasingtabelini.
3.Updatehargasemuakamardengan5%.
4.MembuattabelterpisahdenganstrukturyangsamasepertitabelPemesananuntukmemegangcatatanarsip.
MenggunakanpernyataanINSERT,menyalincatatandaritabelPemesanankemejaarsipyangberkaitandengan
pemesanansebelum1Januari2008.Hapussemuapemesanansebelum1Januari2008daritabelPemesanan.

DalamlatihaninikitaakandiperkenalkandenganbeberapateoritentangSQLdankemudianlanjutkan
untukmembuatdatabase,tabeldanmemasukkandatasampel.Kemudiankitaakanmulaimengeksekusi
querySQLterhadapdatabaseyangtelahkitabuat,menjelajahibahasaSQLDML.Prapersyaratanuntuk
tutorialiniadalahMySQL5.xxdanNetBeans6.xx(ataueditorSQLlainnyasepertiMySQLQueryBrowser
dll)
MySQLSELECTPRAKTEK
https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

1/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

Catatan:MySQLbukankasussensitif.JikaAndainginmempertahankankasusini,gunakantandakutip
ganda("")untukidentifierstringyang.AndaakanmenemukanbahwahurufbesarAndadalamscript
MySQLakandikonversikehurufkecilketikadieksekusi.
BeberapaPertanyaanUlasan
1.ApakahduakomponenutamadariSQLdanapafungsimerekamelayani?
Sebuahbahasadefinisidata(DDL)untukmendefinisikanstrukturdatabase.Sebuahbahasa
manipulasidata(DML)untukmengambildanmemperbaruidata.
2.ApakeuntungandankerugiandariSQL?
Keuntungan:
1.Citacitamemenuhiuntukbahasadatabase
2.(Relatif)Mudahuntukbelajar
3.portabilitas
4.SQLstandarada
5.Keduaaksesinteraktifdantertanam
6.Dapatdigunakanolehspesialisdannonspesialis.
kekurangan:
1.Ketidakcocokanimpedansipencampuranparadigmapemrogramandengantertanam
akses
2.Kurangnyaorthogonalitybanyakcarayangberbedauntukmengekspresikanbeberapa
permintaan
3.Bahasamenjadibesar(SQL92adalah6kalilebihbesardaripendahulunya)
4.Penanganannullsdifungsiagregat
5.Tabelhasiltidakketatrelasionaldapatberisiduplikattupel,memaksakanmemesanpada
keduakolomdanbaris.

3.MenjelaskanfungsidarimasingmasingklausadalamlaporanSELECT.Apakahpembatasandikenakanpadaklausul
ini?
DARIMenentukanmejaataumejayangakandigunakan.
MANAFilterbaristundukpadabeberapakondisi.
GROUPBYBentukkelompokbarisdengannilaikolomyangsama.
MEMILIKIFilterkelompoktundukpadabeberapakondisi.
SELECTMenentukankolomyangmunculdalamoutput.
ORDERBYMenentukanurutanoutput.
JikadaftarSELECTtermasukfungsiagregatdantidakadaklausaGROUPBYdigunakanuntukmengelompokkandatabersama
sama,makatidakadaitemdalamdaftarSELECTdapatmencakupreferensiuntukkolomkecualikolomyangargumenuntuk
fungsiagregat.
KetikaGROUPBYdigunakan,setiapitemdalamdaftarSELECTharusbernilaitunggalperkelompok.
Selanjutnya,klausaSELECThanyaberisi:
Namakolom.
Fungsiagregat.
Konstanta.
Sebuahekspresiyangmelibatkankombinasidiatas.
SemuanamakolomdalamdaftarSELECTharusmunculdalamGROUPBYklausakecualinamayangdigunakanhanyadalam
fungsiagregat.
4.PembatasanapayangberlakuuntukpenggunaanfungsiagregatdalampernyataanSELECT?Bagaimananulls
mempengaruhifungsiagregat?
FungsiagregatdapatdigunakanhanyadalamdaftarSELECTdanklausaHAVING.TerlepasdariCOUNT(*),masingmasing
fungsimenghilangkannullspertamadanberoperasihanyapadanilainilainonnulltersisa.COUNT(*)menghitungsemua
barisdaritabel,terlepasdariapakahnullsataunilainilaiduplikatterjadi.
5.JelaskanbagaimanaklausaGROUPBYbekerja.ApaperbedaanantaraWHEREdanHAVINGklausa?
SQLpertamaberlakuklausaWHERE.Kemudiankonseptualmengaturtabelberdasarkankolompengelompokan(s).
Selanjutnya,menerapkanklausaHAVINGdanakhirnyamemerintahkanhasilnyasesuaidenganklausaORDERBY.MANA
menyaringbaristundukpadabeberapakondisiMEMILIKIkelompokfiltertundukpadabeberapakondisi.
6.Apaperbedaanantarasubquerydanjoin?DalamkeadaanapayangakanAndatidakdapatmenggunakansubquery?
Dengansubquery,kolomyangditentukandalamdaftarSELECTdibatasiuntuksatumeja.Dengandemikian,tidakdapat
menggunakansubqueryjikadaftarSELECTberisikolomdarilebihdarisatutabel.
SQLQueryLatihanMenggunakanNetBeans6.xx
TabelberikutmerupakanbagiandaridatabaseyangdiadakandiDBMSrelasional:
Hotel(HotelNo,Nama,Kota)
Kamar(RoomNo,HotelNo,Jenis,Harga)
Pemesanan(HotelNo,GuestNo,DateFrom,DateTo,RoomNo)
Guest(GuestNo,GuestName,GuestAddress)
dimanaHotelmengandungdetailhoteldanHotelNoadalahkunciutama
Kamarberisidetailkamaruntukmasingmasinghoteldan(HotelNo,RoomNo)membentukkunciutama
Pemesananberisirincianpemesanandanterdirikunciutama(HotelNo,GuestNodanDateFrom)
TamuberisirinciantamudanGuestNoadalahkunciutama.
https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

2/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

Marimembuatdatabasedantabel.Kemudianmengisimejatersebutdenganbeberapadatasampel.Pertama,kitamenggunakan
MySQLCommandLineClient.
1.Membuatdatabasebernamahotel_db.KemudianberalihkeNetBeans.
CREATEDATABASEhotel_db

2.JikaAndainginmelihatfilefiledatabase,ituadalahdibawahfolderdataMySQLjalan.

3.AndadapatterusmenggunakanClientPerangkatMySQLCommandLineuntuklatihanmanipulasidatabaseberikut,namun
kamikamiakanmenggunakanNetBeans.PeluncuranNetBeansdanterhubungkehanyadatabaseyangdibuatsepertiyang
ditunjukkandalamAngkaberikut.Pilihdatabase>memperluasdriver>pilihMySQL(driverConnector/J)>klikkananmouse>
pilihConnectMenggunakan.

4.IsipasswordrootdanklikOK.
https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

3/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

5.Gambarberikutmenunjukkanbahwasambungandidirikan.

6.Gambarberikutmenunjukkanbahwakoneksikedatabasehotel_dbtelahdidirikan.

7.MarimengeksekusiquerySQL.Pilihkoneksihotel_db>klikkananmouse>pilihExecuteCommand.Iniakanmenjalankaneditor
querypadajendelakanan.

https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

4/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

8.Berikutnya,membuattabeldanmengisimerekadengandatasampel.CopydanpastescriptSQLberikutkedalameditorquery
dankliktombolRun( ).
ScriptuntukMySQLlatihan5.xx
Revisi2008/03/24olehlezat

MembuattabelbernamaHotel
membuattabelHotel(
hotelnovarchar(10),
hotelNamevarchar(20),
varcharkota(20),
kunciprimer(hotelno)
)ketik=InnoDB

Memasukkanbeberapadatasampel
masukkankedalamnilainilaihotel('FB01','Grosvenor','London')
masukkankedalamnilainilaihotel('fb02','Watergate','Paris')
masukkankedalamnilainilaihotel('ch01','OmniShoreham','London')
masukkankedalamnilainilaihotel('ch02','PhoenixTaman','London')
masukkankedalamnilainilaihotel('DC01','Latham','Berlin')

9.Jikatidakadakesalahan,melihatdata.PilihtabelHotel>klikkananmouse>PilihLihatData.

10.HotelmejadandatayangditampilkandalamGambarberikut.

https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

5/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

11.Berikutnya,menciptakanlebihbanyaktabeldanmengisidatasampel.Ikutilangkahlangkahyangsamasepertiyangdilakukan
sebelumnya.
menciptakanruangtabel(
roomnonumerik(5),
hotelnovarchar(10),
Jenisvarchar(10),
Hargadesimal(5,2),
kunciutama(roomno,hotelno),
kunciasing(hotelno)REFERENSIhotel(hotelno)
)ketik=InnoDB
masukkankedalamnilainilaikamar(501,'FB01','single',19)
masukkankedalamnilainilaikamar(601,'FB01','ganda',29)
masukkankedalamnilainilaikamar(701,'FB01','keluarga',39)
masukkankedalamnilainilairuangan(1001,'fb02','single',58)
masukkankedalamnilainilairuangan(1101,'fb02','ganda',86)
masukkankedalamnilainilairuangan(1001,'ch01','single',29,99)
masukkankedalamnilainilairuangan(1101,'ch01','keluarga',59.99)
masukkankedalamnilainilaikamar(701,'ch02','single',10)
masukkankedalamnilainilaikamar(801,'ch02','ganda',15)
masukkankedalamnilainilaikamar(901,'DC01','single',18)
masukkankedalamnilainilairuangan(1001,'DC01','ganda',30)
masukkankedalamnilainilairuangan(1101,'DC01','keluarga',35)

12.Kemudianverifikasiproses.

membuattabeltamu(
guestnonumerik(5),
https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

6/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

guestnamevarchar(20),
guestaddressvarchar(50),
kunciprimer(guestno)
)ketik=InnoDB
masukkankedalamnilainilaitamu(10001,'JohnKay','56TinggiSt,London')
masukkankedalamnilainilaitamu(10002,'MikeRitchie','18TainSt,London')
masukkankedalamnilainilaitamu(10003,'MaryTregear','5tarbotRd,Aberdeen')
masukkankedalamnilainilaitamu(10004,'JoeKeogh','2FergusDr,Aberdeen')
masukkankedalamnilainilaitamu(10005,'CarolFarrel','6AchraySt,Glasgow')
masukkankedalamnilainilaitamu(10006,'TinaMurphy','63NahSt,Glasgow')
masukkankedalamnilainilaitamu(10007,'TonyShaw','12TamanPl,Glasgow')

membuattabelpemesanan(
hotelnovarchar(10),
guestnonumerik(5),
tanggaldatefrom,
tanggaldateto,
roomnonumerik(5),
kunciutama(hotelno,guestno,datefrom),
kunciasing(roomno,hotelno)REFERENSIkamar(roomno,hotelno),
kunciasing(guestno)REFERENSItamu(guestno)
)ketik=InnoDB

masukkankedalampesanannilai('FB01',10001,'040401','040408',501)
masukkankedalampesanannilai('FB01',10004,'040415','040515',601)
masukkankedalampesanannilai('FB01',10005,'040502','040507',501)
masukkankedalampesanannilai('FB01',10002,'160504','040529',601)
masukkankedalampesanannilai('FB01',10001,'040501',null,701)
masukkankedalampesanannilai('fb02',10003,'040405','100404',1001)
masukkankedalampesanannilai('fb02',10005,'040512','300504',1101)
masukkankedalampesanannilai('ch01',10006,'040421',null,1101)
masukkankedalampesanannilai('ch02',10002,'040425','040506',801)
masukkankedalampesanannilai('DC01',10007,'040513','040515',1001)
masukkankedalampesanannilai('DC01',10003,'040520',null,1001)

https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

7/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

PelaksanaSQLQueryLatihan
Selanjutnya,marikitamengeksekusiquerySQL.
1.Daftarrincianlengkapdarisemuahotel.
https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

8/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

SELECT*FROMhotel

2.DaftarrincianlengkapdarisemuahoteldiLondon.
SELECT*FROMHotelMANAkotaLIKE'%London%'
Sebenarnya,inijugaakanmenemukanbarisdenganalamatseperti:'10LondonAvenue,NewYork'.

3.DaftarnamadanalamatdarisemuatamudiLondon,abjaddiperintahkanolehnama.
SELECTguestname,guestaddress
DARItamu
MANAguestaddressLIKE'%London%'
ORDERBYguestname

4.Daftarsemuakamardoubleataukeluargadenganhargadibawah40,00permalam,dalamurutanharga.
SELECT*FROMkamar
MANAharga<40DANketikIN('ganda','Keluarga')
ORDERBYharga
(Catatan,ASCadalahpengaturandefault).

5.Daftarpemesananyangtidakadadate_totelahditentukan.
SELECT*FROMpesananMANAdatetoISNULL

Fungsiagregat
1.Berapabanyakhotelyangada?
SELECTCOUNT(*)FROMhotel

https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

9/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

2.Berapahargarataratakamar?
SELECTAVG(harga)FROMruang

3.Berapatotalpendapatanpermalamdarisemuakamarganda?
SUMSELECT(harga)FROMkamarMANAtype='ganda'

4.BerapabanyaktamuyangberbedatelahmembuatpemesananuntukAgustus?
SELECTCOUNT(DISTINCTguestno)
DARIpemesanan
WHERE(datefrom>='2004/08/01'DANdatefrom<='2004/08/31')

BagaimanauntukMei?
SELECTCOUNT(DISTINCTguestno)
DARIpemesanan
WHERE(datefrom>='2004/05/01'DANdatefrom<='2004/05/31')

SubqueriesdanBergabung
1.DaftarhargadanjenissemuakamardiGrosvenorHotel.
HargaSELECT,jenis
DARIkamar
MANAhotelno=(SELECThotelnoDARIHotel
MANAhotelName='Grosvenor')

2.DaftarsemuatamusaatinitinggaldiGrosvenorHotel.
https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

10/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

SELECT*FROMtamu
MANAguestno=
(SELECTguestnoDARIpemesanan
MANAdatefrom<=CURRENT_DATEDANdateto>=CURRENT_DATEDAN
hotelno=(SELECThotelnoDARIHotel
MANAhotelName='Grosvenor'))

3.DaftarrinciansemuakamardiGrosvenorHotel,termasuknamatamuyangtinggaldidalamruangan,jikaruangan
ditempati.
SELECTr.*FROMkamarrLEFTJOIN
(SELECTg.guestname,h.hotelno,b.roomnoDARITamug,Pemesananb,Hotelh
MANAg.guestno=b.guestnoDANb.hotelno=h.hotelnoDAN
h.hotelname='Grosvenor'DAN
b.datefrom<=CURRENT_DATEDANb.dateto>=CURRENT_DATE)ASXXX
ONr.hotelno=XXX.hotelnoDANr.roomno=XXX.roomno

4.BerapatotalpendapatandaripemesananuntukGrosvenorHotelhariini?
SELECTSUM(harga)FROMpemesananb,kamarr,hHotel
WHERE(b.datefrom<=CURRENT_DATEDAN
b.dateto>=CURRENT_DATE)DAN
r.hotelno=h.hotelnoDANr.roomno=b.roomno

5.DaftarkamaryangsaatinikosongdiGrosvenorHotel.
SELECT*FROMkamarr
MANAroomnoTIDAKDI
(SELECTroomnoDARIpesananb,hHotel
https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

11/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

WHERE(datefrom<=CURRENT_DATEDAN
dateto>=CURRENT_DATE)DAN
b.hotelno=h.hotelnoDANhotelName='Grosvenor')

6.ApapendapatanyanghilangdarikamarkosongdiGrosvenorHotel?
SELECTSUM(harga)FROMkamarr
MANAroomnoTIDAKDI
(SELECTroomnoDARIpesananb,hHotel
WHERE(datefrom<=CURRENT_DATEDAN
dateto>=CURRENT_DATE)DAN
b.hotelno=h.hotelnoDANhotelName='Grosvenor')

Pengelompokan
1.Daftarjumlahkamardimasingmasinghotel.
HotelnoSELECT,COUNT(roomno)AScountDARIkamar
GROUPBYhotelno

2.DaftarjumlahkamardisetiaphoteldiLondon.
SELECThotel.hotelno,COUNT(roomno)
AScountDARIHotel,kamar
MANAroom.hotelno=hotel.hotelno
DANkotaLIKE'%London%'
GROUPBYhotelno

https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

12/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

3.BerapajumlahrataratapemesananuntukmasingmasinghotelpadabulanApril?
SELECTAVG(X)ASAveNumBookDARI
(SELECThotelno,COUNT(hotelno)ASX
DARIpemesananb
WHERE(b.datefrom>=DATE'20040401'DANb.datefrom<=DATE'20040431')
GROUPBYhotelno)ASAnotherThing
/*SELECTAVG(sum_column1)ASAvgSumCol1
DARI(SELECTSUM(column1)ASsum_column1
DARIt1GROUPBYcolumn1)ASt1*/

Sintaks:SELECT...FROM(subquery)nama[AS]...

The[AS]Namaklausaadalahwajib,karenasetiaptabeldalamklausaFROMharusmemilikinama.
4.ApajeniskamaryangpalingseringdipesanuntukmasingmasinghoteldiLondon?
SELECTMAX(X)ASMostlyBook
DARI(tipeSELECT,COUNT(jenis)ASX
DARIpemesananb,hotelh,kamarr
MANAr.roomno=b.roomnoDANb.hotelno=h.hotelnoDAN
h.cityLIKE'%London%'
GROUPBYJenis)ASDummy

Sintaks:SELECT...FROM(subquery)nama[AS]...
The[AS]Namaklausaadalahwajib,karenasetiaptabeldalamklausaFROMharusmemilikinama.
5.Apapendapatanyanghilangdarikamarkosongdimasingmasinghotelhariini?
HotelnoSELECT,SUM(harga)FROMkamarr
MANAroomnoTIDAKDI
(SELECTroomnoDARIpesananb,hHotel
WHERE(datefrom<=CURRENT_DATEDAN
dateto>=CURRENT_DATE)DAN
b.hotelno=h.hotelno)
GROUPBYhotelno

https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

13/14

4/5/2016

LangkahdanbagaimanauntukmenggunakanMySQLSQLmanipulasidatalangugae,DMLmelaluitanganpadapraktekmenggunakanNetBeansIDEpadaplatformwindows

MembuatdanMengisiTabel
1.MenggunakanpernyataanCREATETABLE,membuattabelHotel,Room,PemesanandanGuest.
CREATETABLEhotel(
hotelnoCHAR(4)NOTNULL,
hotelNameVARCHAR(20)NOTNULL,
kotaVARCHAR(50)NOTNULL
)
MENCIPTAKANruangTABLE(
roomnoVARCHAR(4)NOTNULL,
hotelnoCHAR(4)NOTNULL,
ketikCHAR(1)NOTNULL,
HargaDECIMAL(5,2)NOTNULL
)
CREATETABLEpemesanan(
hotelnoCHAR(4)NOTNULL,
guestnoCHAR(4)NOTNULL,
datefromDATETIMENOTNULL,
datetoDATETIMENULL,
roomnoCHAR(4)NOTNULL
)
CREATETABLEtamu(
guestnoCHAR(4)NOTNULL,
guestnameVARCHAR(20)NOTNULL,
guestaddressVARCHAR(50)NOTNULL
)
2.Menyisipkancatatankemasingmasingtabelini.
INSERTINTONILAIhotel('H111','Grosvenor','London')
INSERTINTONILAIkamar('1','H111','Single',72.00)
INSERTINTONILAItamu('G111','JohnSmith','London')
INSERTINTOpemesananVALUES('H111','G111','20080101','2008/01/02','1')
3.Updatehargasemuakamardengan5%.
RuanganUPDATEhargaSET=Harga*1,05
Catatan:5/100=0,05+1(hargaasli)=1,05
Bisajuga:
RuanganUPDATEhargaSET=hargaharga+*0,05
4.MembuattabelterpisahdenganstrukturyangsamasepertitabelPemesananuntukmemegangcatatanarsip.
MenggunakanpernyataanINSERT,menyalincatatandaritabelPemesanankemejaarsipyangberkaitandengan
pemesanansebelum1Januari2008.Hapussemuapemesanansebelum1Januari2008daritabelPemesanan.
CREATETABLEbooking_old(
hotel_noCHAR(4)NOTNULL,
guest_noCHAR(4)NOTNULL,
date_fromDATETIMENOTNULL,
date_toDATETIMENULL,
room_noVARCHAR(4)NOTNULL
)
INSERTINTObooking_old(
SELECT*FROMpemesanan
MANAdate_to<DATE'20080101')
DELETEFROMpemesanan
MANAdate_to<DATE'20080101'
PrakteklebihlanjuttentangSQLquerymenggunakanMySQLdanNetBeansditutorialberikutnya.

<GunakanMySQLGUIAlat|MainJava&Gang|MySQLDMLpraktek2Bagian1>

https://translate.google.co.id/translate?hl=id&sl=en&u=http://www.javaguicodexample.com/mysqldatabasequerynetbeansex.html&prev=search

14/14