Anda di halaman 1dari 23

Artikel Kuliah Informatika.

net
Copyright 2010 Informatika.net
STRUCTURED QUERY
LANGUAGE (SQL)
MENGGUNAKAN MYSQL
Moch. Irwan Hermanto, S.Kom
mochirwanhermanto@yahoo.co.id
http://mirtokom.com
Lisensi Dokumen:
Copyright 2010Informatika.Net
Seluruh dokumen di Informatika.Net dapat digunakan, dimodifikasi dan
disebarkan secara bebas untuk tuuan bukan komersial !nonprofit", dengan syarat
tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang
disertakan dalam setiap dokumen. #idak diperbolehkan melakukan penulisan ulang,
kecuali mendapatkan iin terlebih dahulu dari Informatika.Net
0
MYSQL
MySQ ada!ah "e!ationa! #ata$a%e Management Sy%tem &"#'MS( yang didi%tri$)%ikan %ecara grati% di
$awah !icen%e *+ &*enera! +)$!ic icen%e(. Setiap orang $e$a% mengg)nakan MySQ tetapi har)% $er%ifat
open %o)rce. MySQ mengg)nakan $aha%a SQ &Str)ct)red Q)ery ang)age(.
Instalasi MySQL-5.0.-!I"# $
1. ,a!ankan fi!e %et)p my%-!. yait) mys%l-5.0.-win#.e&e. maka akan m)nc)! dia!og in%ta!a%i %e$agai
$erik)t :
2. +i!ih tom$o! "e&t. kem)dian m)nc)! dia!og tipe in%ta!a%i %e$agai $erik)t :
1
/. +i!ih 'ustom. kem)dian pi!ih tom$o! "e&t. 0em)dian tampi! dia!og fit)r program %e$agai $erik)t :
1. k!ik tanda %i!ang pada (e)elo*er 'om*onents. kem)dian pi!ih +his feature will ,e installe- on
local har- -ri)e %eperti gam$ar $erik)t :
2. 0em)dian pi!ih tom$o! 'han.e.... pada fol-er name )$ah men3adi %e%)ai dengan gam$ar $erik)t
ini :
2
4. +i!ih /K. kem)dian pi!ih tom$o! "e&t. dan pi!ih tom$o! Install. maka pro%e% in%ta!a%i dim)!ai.
5. 'erik)tnya m)nc)! dia!og acco)nt. pi!ih Ski* Si.n-0* dan k!ik tom$o! "e&t. maka akan m)nc)!
dia!og %e$agai $erik)t :
6. 0!ik tom$o! 1inish dan tom$o! "e&t. maka akan m)nc)! dia!og %e$agai $erik)t :
/
7. +i!ih Stan-ar- 'onfi.uration dan k!ik tom$o! "e&t. !a!) m)nc)! gam$ar $erik)t :
10. +i!ih tom$o! "e&t. 0em)dian m)nc)! gam$ar $erik)t ini. Ma%)kkan pa%%word yang diinginkan pada
kota i%ian "ew root *asswor- dan 'onfirm $erik)t ini )nt)k %ek)rita%. mi%a!nya 2#354. 0!ik tom$o!
"e&t.
11. 0!ik tom$o! 5&ecute %e$agai tahap akhir.
1
12. 0!ik 1inish.
2
Melakukan Koneksi ke MySQL $
'ara 2 $
1. Me!a!)i #8S +rompt. ma%)k ke direktori )tama MySQ dengan cara %e$agai $erik)t &yang diketik
hanya yang digari% $awah( :
'$67c- 6mys%l6,in
2. Sete!ah it) ketikkan perintah $erik)t &yang diketik hanya yang digari% $awah( :
'$67mys%l6,in6mys%l 8u root 8*
maka akan diminta )nt)k mema%)kkan pa%%oword. i%ikan pa%%word yang dig)nakan pada %aat in%ta!a%i.
yait) 2#354.
/. Se!an3)tnya akan ada re%pon dari %er9er %eperti gam$ar $erik)t :
:ampi!an ter%e$)t di ata% menandakan $ahwa te!ah $erha%i! me!ak)kan konek%i ke %er9er.
'ara $
1. #ari men) Start 7 All 9ro.rams 7 MySQL 7 MySQL Ser)er 5.0 7 MySQL 'omman- Line
'lient. maka akan m)nc)! tampi!an %eperti $erik)t ini :
2. Ma%)kkan pa%%word yang te!ah ditent)kan pada %aat in%ta!a%i. yait) : 12/124 kem)dian tekan enter.
4
S+:0'+0:5( Q05:; LA"<0A<5 =SQL>
=Im*lementasi men..unakan MySQL>
A. 9en.enalan SQL
SQ pertama ka!i diterapkan pada %i%tem " &%e$)ah proyek ri%et pada !a$oratori)m ri%et San ,o%e.
I'M(. 0ini SQ 3)ga di3)mpai pada $er$agai p!atform. dari mikrokomp)ter hingga mainframe. SQ
dapat dig)nakan $aik %ecara $erdiri %endiri ma)p)n di!ekatkan pada $aha%a;$aha%a !ain %eperti C dan
#e!phi. SQ 3)ga te!ah men3adi $agian dari %e3)m!ah #'MS. %eperti 8rac!e. Sy$a%e. MySQ dan
Informi<.
?. 5lemen SQL
=!emen da%ar SQ mencak)p pernyataan. nama. tipe data. kon%tanta. ek%pre%i. dan f)ng%i $awaan.
2. 9ernyataan
+ernyataan ada!ah perintah SQ yang meminta %e%)at) tindakan kepada #'MS. SQ memi!iki kira;
kira /0 pernyataan. 'e$erapa pernyataan da%ar SQ dapat di!ihat pada ta$e! $erik)t :
9ernyataan Keteran.an
>:=" Meng)$ah %tr)kt)r ta$e!
C8MMI: Mengakhiri %e$)ah ek%ek)%i tran%ak%i
C"=>:= Menciptakan ta$e!. indek% ata) pandangan
#==:= Menghap)% $ari% pada ta$e!
#"8+ Menghap)% ta$e!. indek% ata) pandangan
*">?: Men)ga%kan hak terhadap $a%i% data kepada pengg)na ata)
gr)p pengg)na
I?S=": Menam$ahkan %e$)ah $ari% pada ta$e!
"=@80= Mem$ata!kan hak terhadap $a%i% data
"8'>C0 Mengem$a!ikan ke keadaan %em)!a %ekiranya %)at) tran%ak%i
gaga! di!ak%anakan
S==C: Memi!ih $ari% dan ko!om pada ta$e!
A+#>:= Meng)$ah ni!ai pada %e$)ah $ari%
. "ama
?ama dig)nakan %e$agai identita% $agi o$3ek;o$3ek pada #'MS. Contoh o$3ek pada #'MS ada!ah
ta$e!. ko!om dan pengg)na.
#. +i*e (ata
Setiap data memi!iki tipe data. 'erik)t ini ada!ah tipe data da!am MySQ :
:ipe data )nt)k n)merik :
+i*e Keteran.an :an.e "ilai
:I?BI?: ?i!ai integer yang %angat keci! Signed : ;126 %.d. 125
An%igned : 0 %.d. 222
SM>I?: ?i!ai integer yang keci! Signed : ;/2546 %.d. /2545
An%igned : 0 %.d. 422/2
M=#IAMI?: Integer dengan ni!ai medi)m Signed : ;6/66406 %.d. 6/66405
An%igned : 0 %.d. 14555212
+i*e Keteran.an :an.e "ilai
I?: Integer dengan ni!ai %tandar Signed : ;211516/416 %.d. 211516/415
An%igned : 0 %.d. 1271745272
'I*I?: Integer dengan ni!ai $e%ar Signed : ;722//520/4621552606 %.d.
722//520/4621552605
An%igned : 0 %.d. 1611451105/507221412
C8>: 'i!angan de%ima! dengan %ing!e;
preci%%ion
minim)m D 1.152171/21e;/6
mak%im)m D /.10262/144eE/6
#8A'= 'i!angan de%ima! dengan do)$!e;
preci%%ion
minim)m D 2.22025/6262052011e;/06
mak%im)m D 1.57547/1/1642/125eE/06
#=CIM>&M.#( 'i!angan f!oat &de%ima!( yang
dinyatakan %e$agai %tring. M ada!ah
3)m!ah digit yang di%impan da!am
%)at) ko!om. ? ada!ah 3)m!ah digit
di$e!akang koma
:ergant)ng pada ni!ai M dan #
0eterangan : Signed dan An%igned ada!ah atri$)t )nt)k tipe data n)merik
; Signed : data yang di%impan da!am %)at) ko!om dapat $er)pa data negatif dan po%itif.
5
; An%igned : dig)nakan agar data yang dima%)kkan $)kan data negatif &FG0(. :ipe data f!oat tidak
dapat dinyatakan dengan )n%igned.
+i*e -ata strin. $
+i*e Keteran.an 0kuran Maksimum
CH>"&n( String karakter dengan pan3ang yang tetap. yait) n 1 M $yte
@>"CH>"&n( String karakter dengan pan3ang yang tidak tetap.
mak%im)m n.
1 M $yte
:I?B'8' '8' &'inary arge 8$3ect( yang %angat keci! 2
6
;1 $yte
'8' '8' $er)k)ran keci! 2
14
;1 $yte
M=#IAM'8' '8' $er)k)ran %edang 2
21
;1 $yte
8?*'8' '8' $er)k)ran $e%ar 2
/2
;1 $yte
:I?B:=I: String tek% yang %angat keci! 2
6
;1 $yte
:=I: String tek% $er)k)ran keci! 2
14
;1 $yte
M=#IAM:=I: String tek% $er)k)ran medi)m&%edang( 2
21
;1 $yte
8?*:=I: String tek% $er)k)ran $e%ar 2
/2
;1 $yte
=?AM =n)mera%i. ko!om dapat dii%i dengan %at) mem$er
en)mera%i
422/2 anggota
S=: Himp)nan. ko!om dapat dii%i dengan $e$erapa ni!ai
anggota himp)nan
41 anggota himp)nan
+i*e -ata tan..al -an @am $
+i*e :an.e 1ormat
#>:= J1000;01;01K %.d. J7777;12;/1K J0000;00;00K
:IM= J;6/2:27:27K %.d. J6/6:27:27K J00:00:00K
#>:=:IM= J1000;01;01 00:00:00K %.d. J7777;
12;/1 2/:27:27K
J0000;00;00 00:00:00K
3. Konstanta
0on%tanta menyatakan ni!ai yang tetap.
5. 5ks*resi
=k%pre%i ada!ah %ega!a %e%)at) yang mengha%i!kan ni!ai. =k%pre%i dig)nakan )nt)k menghit)ng ni!ai.
Contoh : hargaL3)m!ahE2
Sim$o!;%im$o! yang dapat dig)nakan pada ek%pre%i aritmatika.
Sim,ol Keteran.an
L +erka!ian
/ +em$agian
E +en3)m!ahan
; +eng)rangan
4. A..re.ate 1unctions =1un.si A.re.at>
C)ng%i ada!ah %e$)ah %)$program yang mengha%i!kan %)at) ni!ai 3ika dipanggi!. C)ng%i agregat
ada!ah f)ng%i %tandar di da!am SQ. %)at) f)ng%i yang dig)nakan )nt)k me!ak)kan %)mmary. f)ng%i
%tati%tik %tandar yang dikenakan pada %)at) ta$e! ata) -)ery.
a. >@*&ek%pre%i(
C)ng%i ini dig)nakan )nt)k mencari rata;rata ni!ai da!am %)at) ko!om dari %)at) ta$e! ata)
ek%pre%i. =k%pre%i da!am f)ng%i >@* )m)mnya ada!ah nama ko!om. 0o!om yang dicari ni!ai rata;
ratanya ada!ah ko!om dengan tipe data n)merik.
$. C8A?:&<(
C)ng%i ini dig)nakan )nt)k menghit)ng 3)m!ah record &$ari%( dari %)at) ko!om dari %)at) ta$e!. I
ada!ah nama ko!om yang ingin dicari 3)m!ah $ari%nya.
c. M>I&ek%pre%i(
C)ng%i ini dig)nakan )nt)k mencari ni!ai ter$e%ar dari %)at) ko!om dari %)at) ta$e!. 0o!om yang
dicari ni!ai ter$e%arnya memi!iki tipe data n)merik.
d. MI?&ek%pre%i(
C)ng%i ini dig)nakan )nt)k mencari ni!ai terkeci! dari %)at) ko!om dari %)at) ta$e!. 0o!om yang
dicari ni!ai terkeci!nya memi!iki tipe data n)merik.
e. SAM&ek%pre%i(
C)ng%i ini dig)nakan )nt)k mendapatkan ni!ai tota! dari %)at) ko!om pada %)at) ta$e!.
6
'. Kelom*ok 9ernyataan SQL
+ernyataan SQ dapat dike!ompokkan men3adi / ke!ompok. yait) : ##. #M dan #C.
2. ((L =(ata (efinition Lan.ua.e>
## mer)pakan ke!ompok perintah yang $erf)ng%i )nt)k mendefini%ikan atri$)t;atri$)t $a%i% data.
ta$e!. atri$)t&ko!om(. $ata%an;$ata%an terhadap %)at) atri$)t. %erta h)$)ngan antar ta$e!. Bang
terma%)k da!am ke!ompok ## ini ada!ah C"=>:=. >:=". dan #"8+.
a. Mem,uat (ata,ase
Synta< : CREATE DATABASE namadatabase;
namadatabase tidak $o!eh mengand)ng %pa%i dan tidak $o!eh memi!iki nama yang %ama antar
data$a%e. 'erik)t ini perintah )nt)k mem$)at data$a%e dengan nama renta! :
Synta< tam$ahan : )nt)k menampi!kan daftar nama data$a%e yang ada pada my%-! mengg)nakan
perintah :
SHOW DATABASES; %eperti $erik)t ini :
,. Men.ha*us (ata,ase
Synta< : DROP DATABASE namadatabase;
#ata$a%e yang akan dihap)% %e%)ai dengan namadatabase. 'erik)t ini perintah )nt)k
menghap)% data$a%e dengan nama renta! :
c. Mem,uat +a,el
Se$e!)m mem$)at %)at) ta$e!. ter!e$ih dah)!) har)% memi!ih %a!ah %at) data$a%e %e$agai data$a%e
aktif yang akan dig)nakan )nt)k menyimpan ta$e!;ta$e! dengan mengg)nakan %ynta< : USE
namadatabase;
'erik)t ini perintah )nt)k mengg)nakan data$a%e dengan nama renta! :
Synta< mem$)at ta$!e :
CREATE TABLE namatabel2
(
Field1 TipeData1
Field2 TipeData2
!;
namatabel tidak $o!eh mengand)ng %pa%i &%pace(. Field1 dan TipeData1 mer)pakan
nama ko!om pertama dan tipe data )nt)k ko!om pertama. ,ika ingin mem$)at ta$e! dengan ko!om
!e$ih dari %at). maka %ete!ah pendefini%ian tipe data %e$e!)mnya di$erikan tanda koma &.(. 'erik)t
ini perintah )nt)k mem$)at ta$e! dengan nama 3eni%fi!m :
Synta< tam$ahan :
Ant)k menampi!kan daftar nama ta$e! yang ada pada data$a%e yang %edang aktif/dig)nakan
&da!am ha! ini data$a%e renta!( :
SHOW TABLES; %eperti $erik)t ini :
7
Ant)k menampi!kan de%krip%i ta$e! &da!am ha! ini 3eni%fi!m( %ynta<nya ada!ah :
DESC namatabel;
-. Men.ha*us +a,el
Synta< : DROP TABLE namatabel;
:a$e! yang akan dihap)% %e%)ai dengan namatabel. $erik)t ini perintah )nt)k menghap)% ta$e!
dengan nama 3eni%fi!m :
e. Men-efinisikan nullAnot null
Synta< :
CREATE TABLE namatabel
(
Field1 TipeData1 "OT "ULL
Field2 TipeData2
!;
f. Men-efinisikan "ilai (efault
?i!ai defa)!t ada!ah ni!ai yang otomati% di$erikan o!eh %i%tem )nt)k %)at) ko!om ketika ada
penam$ahan $ari% $ar). %ementara ni!ai pada ko!om ter%e$)t tidak dii%i o!eh pengg)na. Synta< :
CREATE TABLE namatabel
(
Field1 TipeData1
Field2 TipeData2 DEFAULT nilai
!;
ni!ai ada!ah ni!ai defa)!t dari ko!om ter%e$)t.
.. Men-efinisikan 9rimary Key 9a-a +a,el
:erdapat tiga cara )nt)k mendefini%ikan primary key. 'erik)t ini ada!ah Synta< mendefini%ikan
primary key )nt)k Field1
CREATE TABLE namatabel
(
Field1 TipeData1 "OT "ULL PR#$AR% &E%
Field2 TipeData2
!;
>ta)
CREATE TABLE namatabel
(
Field1 TipeData1
Field2 TipeData2
PR#$AR% &E%(Field1!
!;
ata)
ALTER TABLE namatabel ADD CO"STRA#"T nama'(nst)aint PR#$AR% &E%
(nama*(l(m!;
'erik)t ini perintah )nt)k mem$)at ta$e! 3eni%fi!m dengan ko!om 3eni% tipe datanya char&4(. harga
tipe datanya int dengan mendefini%ikan ni!ai not n)!! dan primary key )nt)k ko!om 3eni% %erta
ni!ai defa)!t )nt)k ko!om harga :
ata)
10
ata)
h. Men.ha*us 9rimary Key 9a-a +a,el
+erintah :
Cara 1 : ,ika primary key di$)at dengan mengg)nakan a!ter ta$!e :
ALTER TABLE namatabel DROP CO"STRA#"T nama'(nst)aint;
Cara 2 : ,ika primary key di$)at me!a!)i create ta$!e :
ALTER TABLE namatabel DROP PR#$AR% &E%;
'erik)t ini perintah yang dig)nakan )nt)k menghap)% primary key pada ta$e! 3eni%fi!m :
i. Menam,ah Kolom ?aru 9a-a +a,el
Synta< :
ALTER TABLE namatabel ADD +ieldba), tipe;
namatabel ada!ah nama ta$e! yang akan ditam$ah fie!dnya. Fieldba), ada!ah nama ko!om
yang akan ditam$ahkan. tipe ada!ah tipe data dari ko!om yang akan ditam$ahkan. 'erik)t ini
perintah )nt)k menam$ah ko!om keterangan dengan tipe data 9archar&22( :
@. Men.u,ah +i*e (ata atau Le,ar Kolom 9a-a +a,el
+erintah :
ALTER TABLE namatabel $OD#F% COLU$" +ield tipe
namatabel ada!ah nama ta$e! yang akan di)$ah tipe data ata) !e$ar ko!omnya. Field ada!ah
ko!om yang akan di)$ah tipe data ata) !e$arnya. Tipe ada!ah tipe data $ar) ata) tipe data !ama
dengan !e$ar ko!om yang $er$eda. 'erik)t ini perintah )nt)k meng)$ah tipe data )nt)k ko!om
keterangan dengan char&20( :
k. Men.u,ah "ama Kolom
Synta< :
ALTER TABLE namatabel CHA"-E COLU$" namalama*(l(m namaba),*(l(m
tipedatan.a;
namatabel ada!ah nama ta$e! yang akan di)$ah nama ko!omnya. namalama*(l(m ada!ah
ko!om yang akan diganti namanya. namaba),*(l(m ada!ah nama $ar) ko!om. tipedatan.a
ada!ah tipe data dari ko!om ter%e$)t. 'erik)t ini perintah )nt)k meng)$ah nama ko!om
keterangan men3adi ket :
l. Men.ha*us Kolom 9a-a +a,el
Synta< :
ALTER TABLE namatabel DROP COLU$" nama*(l(m;
'erik)t ini perintah )nt)k menghap)% ko!om ket pada ta$e! 3eni%fi!m :
m. Men-efinisikan 1orei.n Key 9a-a +a,el
Ant)k mendefini%ikan foreign key. maka har)% dipa%tikan $ahwa ta$e! dan atri$)t yang dir)3)k
&ta$e! ind)k dari foreign key( %)dah didefini%ikan ter!e$ih dah)!). Synta< :
CREATE TABLE namatabel
(
Field1 TipeData1
Field2 TipeData2
FORE#-" &E% (Field2! REFERE"CES namatabelind,*
(nama*(l(mind,*!O" UPDATE CASCADE
11
O" DELETE "O ACT#O"
!
ata)
ALTER TABLE namatabel ADD CO"STRA#"T nama'(nst)aint FORE#-" &E%
(nama*(l(m! REFERE"CES namatabelind,* (nama*(l(mind,*! O" UPDATE
CASCADE O" DELETE "O ACT#O";
'erik)t ini perintah )nt)k mem$)at ta$e! fi!m $e%erta ko!om;ko!omnya :
ata)
n. Men.ha*us 1orei.n Key
+erintah :
ALTER TABLE namatabel DROP FORE#-" &E% nama'(nst)aint; 'erik)t ini
perintah )nt)k menghap)% foreign key pada ta$e! fi!m :
. (ML =(ata Mani*ulation Lan.ua.e>
#M ada!ah ke!ompok perintah yang $erf)ng%i )nt)k memanip)!a%i data da!am $a%i% data. mi%a!nya
)nt)k pengam$i!an. penyi%ipan. peng)$ahan dan penghap)%an data. +erintah yang terma%)k da!ah
kategori #M ada!ah : I?S=":. #==:=. A+#>:= dan S==C:.
a. I"S5:+
+erintah I?S=": dig)nakan )nt)k menam$ahkan $ari% pada %)at) ta$e!.
:erdapat d)a cara )nt)k menam$ah $ari%. yait) :
Cara 1 : Menam$ah $ari% dengan mengi%i data pada %etiap ko!om :
#"SERT #"TO namatabel /ALUES (nilai1nilai2nilai0n!;
Cara 2 : Menam$ah $ari% dengan hanya mengi%i data pada ko!om tertent) :
#"SERT #"TO namatabel (*(l(m1*(l(m2*(l(m0n! /ALUES
(nilai1nilai2nilai0n!;
'erik)t ini perintah )nt)k menam$ahkan $ari% pada ta$e! 3eni%fi!m :
Cara 1 :
Cara 2 :
Keteran.an $
,ika data $ertipe %tring. date ata) time &contoh : action. horor. 2005;11;10( maka pem$erian
ni!ainya diapit dengan tanda petik t)ngga! &MhororN( ata) petik ganda &JhororK(. ,ika data $ertipe
n)merik &2200. 100( maka pem$erian ni!ainya tidak diapit tanda petik t)ngga! ma)p)n ganda.
,. (5L5+5
+erintah #==:= dig)nakan )nt)k menghap)% %at) $ari%. $ari% dengan kondi%i tertent) ata)
%e!)r)h $ari%.
Synta< : DELETE FRO$ namatabel 1WHERE *(ndisi2;
+erintah da!am tanda OP $er%ifat op%iona! )nt)k menghap)% %)at) $ari% dengan %)at) kondi%i
tertent). 'erik)t ini perintah )nt)k menghap)% $ari% pada ta$e! 3eni%fi!m dengan data %e$agai
$erik)t :
12
Contoh 1 : 3ika ingin menghap)% %e!)r)h $ari% pada ta$e! 3eni%fi!m :
Contoh 2 : 3ika ingin menghap)% $ari% yang memi!iki ni!ai /000 pada ko!om harga pada ta$e!
3eni%fi!m maka perintahnya %e$agai $erik)t :
Contoh / : 3ika ingin menghap)% $ari% yang memi!iki ni!ai drama pada ko!om 3eni% pada ta$e!
3eni%fi!m maka perintahnya %e$agai $erik)t :
c. 09(A+5
+erintah A+#>:= dig)nakan )nt)k meng)$ah i%i data pada %at) ata) $e$erapa ko!om pada %)at)
ta$e!.
Synta< :
UPDATE namatabel SET *(l(m1 3 nilai1 *(l(m2 3 nilai2 1WHERE
*(ndisi2;
+erintah da!am tanda OP $er%ifat op%iona! )nt)k meng)$ah %)at) $ari% dengan %)at) kondi%i
tertent). 'erik)t ini perintah )nt)k meng)$ah $ari% pada ta$e! 3eni%fi!m dengan data %e$agai
$erik)t :
Contoh 1 : meng)$ah %em)a ni!ai pada ko!om harga men3adi 2000 :
Contoh 2 : meng)$ah ni!ai pada ko!om harga men3adi 2200 dimana ni!ai pada ko!om 3eni% ada!ah
action :
-. S5L5'+
+erintah S==C: dig)nakan )nt)k menampi!kan i%i dari %)at) ta$e! yang dapat dih)$)ngkan
dengan ta$e! yang !ainnya.
2> Menam*ilkan -ata untuk semua kolom men..unakan
asterisk =B>
Synta< : SELECT 4 FRO$ namatabel;
'erik)t ini perintah )nt)k menampi!kan %em)a data pada ta$e! 3eni%fi!m :
> Menam*ilkan -ata untuk kolom tertentu
Synta< : SELECT *(l(m1*(l(m2*(l(m0n FRO$ namatabel;
1/
'erik)t ini perintah )nt)k menampi!kan data pada ta$e! 3eni%fi!m dengan ko!om yang
ditampi!kan ada!ah ko!om 3eni% :
#> Menam*ilkan -ata -en.an kon-isi -ata tertentu -en.an
klausa !H5:5
Synta< : SELECT 4 FRO$ namatabel WHERE *(ndisi;
'erik)t ini perintah )nt)k menampi!kan data pada ta$e! 3eni%fi!m dimana ni!ai pada ko!om
3eni% ada!ah drama :
'e$erapa operator per$andingan yang dapat dig)nakan pada k!a)%a QH="= %e!ain JGK
ada!ah : F &!e$ih dari(. R &k)rang dari(. R F &tidak %ama dengan(. FG &!e$ih dari ata) %ama
dengan(. RG &k)rang dari ata) %ama dengan(. >dap)n operator !ain. yait) : >?#. 8". ?8:.
'=:Q==?;>?#. I? dan I0=. 'erik)t ini data yang ada pada ta$e! 3eni%fi!m :
Contoh 1 : perintah )nt)k menampi!kan data pada ta$e! 3eni%fi!m dimana ni!ai harga $erki%ar
dari 1000 hingga /000 :
ata)
Contoh 2 : perintah )nt)k menampi!kan data pada ta$e! 3eni%fi!m dimana ni!ai harga %ama
dengan 1000 ata) /000 :
ata)
Contoh / : perintah )nt)k menampi!kan data pada ta$e! 3eni%fi!m dimana ni!ai pada ko!om
3eni% tidak %ama dengan action :
11
ata)
Contoh 1 : I%i ta$e! fi!m
perintah )nt)k menampi!kan data pada ta$e! fi!m dimana data pada ko!om tertent) diawa!i
dengan ni!ai tertent). mi%a!nya pada ko!om 3)d)! dimana diawa!i dengan karakter MSN :
3> Mem,erikan nama lain *a-a kolom
Synta< : SELECT nama*(l(mlama AS nama*(l(mba), FRO$ namatabel;
'erik)t ini perintah )nt)k mem$erikan nama !ain pada ko!om 3eni% men3adi 3eni%Sfi!m pada
ta$e! 3eni%fi!m :
5> Men..unakan alias untuk nama ta,el
Synta< : SELECT nmalias56enis nmalias57a)8a FRO$ namatabel
nmalias;
'erik)t ini perintah )nt)k mem$erikan a!ia% pada ta$e! 3eni%fi!m :
4> Menam*ilkan -ata le,ih -ari -ua ta,el
Synta< :
SELECT 4 +)(m namatabel1namatabel2namatabel0n;
I%i ta$e! 3eni%fi!m :
12
I%i ta$e! fi!m :
'erik)t ini perintah )nt)k menampi!kan %em)a data pada ta$e! 3eni%fi!m dan fi!m :
C> "este- Queries A Su,%uery =I", "/+ I", 5DIS+S, "/+
5DIS+S>
Sub$uery $erarti $uery di da!am $uery. #engan mengg)nakan sub$uery. ha%i! dari $uery akan
men3adi $agian dari $uery di ata%nya.
Sub$uery ter!etak di da!am k!a)%a QH="= ata) H>@I?*. +ada k!a)%a QH="=. sub$uery
dig)nakan )nt)k memi!ih $ari%;$ari% tertent) yang kem)dian dig)nakan o!eh $uery.
Sedangkan pada k!a)%a H>@I?*. sub$uery dig)nakan )nt)k memi!ih ke!ompok $ari% yang
kem)dian dig)nakan o!eh $uery.
Contoh 1 : perintah )nt)k menampi!kan data pada ta$e! 3eni%fi!m yang mana data pada ko!om
3eni%;nya tercant)m pada ta$e! fi!m mengg)nakan I? :
ata) mengg)nakan =IIS:S
+ada contoh di ata% :
SELECT 6enis FRO$ +ilm
di%e$)t sub$uery. %edangkan :
SELECT 4 FRO$ 6enis+ilm
$erked)d)kan %e$agai $uery. +erhatikan. terdapat data 3eni% dan harga pada ta$e! 3eni%fi!m
yang tidak ditampi!kan. Ha! ini di%e$a$kan data pada ko!om 3eni% tidak terdapat pada ko!om
3eni% di ta$e! fi!m.
Contoh 2 : perintah )nt)k menampi!kan data pada ta$e! 3eni%fi!m yang mana data pada ko!om
3eni%;nya tidak tercant)m pada ta$e! fi!m mengg)nakan ?8: I? :
14
ata) mengg)nakan ?8: =IIS:S
E> /*erator com*arison A"; -an ALL
a. /*erator A"; dig)nakan $erkaitan dengan sub$uery. 8perator ini mengha%i!kan
:"A= &$enar( 3ika pa!ing tidak %a!ah %at) per$andingan dengan ha%i! sub$uery
mengha%i!kan ni!ai :"A=. I!)%tra%inya :
*a3i F >?B &S(
,ika sub$uery S mengha%i!kan *1. *2. .... *n. maka kondi%i di ata% identik dengan :
&ga3i F *1( 8" &ga3i F *2( 8" ... 8" &ga3i F *n(
Contoh : perintah )nt)k menampi!kan %em)a data 3eni%fi!m yang harganya $)kan yang
terkeci! :
$. /*erator ALL dig)nakan )nt)k me!ak)kan per$andingan dengan sub$uery. 0ondi%i
dengan > mengha%i!kan ni!ai :"A= &$enar( 3ika sub$uery tidak mengha%i!kan apap)n
ata) 3ika per$andingan mengha%i!kan :"A= )nt)k %etiap ni!ai $uery terhadap ha%i!
sub$uery.
Contoh : perintah )nt)k menampi!kan data 3eni%fi!m yang harganya pa!ing tinggi :
F> A..re.ate 1unctions ='/0"+, S0M, AG<, MI", MAD>
a. C8A?:
+erintah yang dig)nakan )nt)k menghit)ng 3)m!ah $ari% %)at) ko!om pada ta$e!. Contoh :
perintah )nt)k menghit)ng 3)m!ah $ari% ko!om 3eni% pada ta$e! 3eni%fi!m :
$. SAM
+erintah yang dig)nakan )nt)k menghit)ng 3)m!ah ni!ai %)at) ko!om pada ta$e!. Contoh :
perintah )nt)k menghit)ng 3)m!ah ni!ai ko!om harga pada ta$e! 3eni%fi!m :
c. >@*
+erintah yang dig)nakan )nt)k menghit)ng rata;rata dari ni!ai %)at) ko!om pada ta$e!.
Contoh : perintah )nt)k menghit)ng rata;rata dari ko!om harga pada ta$e! 3eni%fi!m :
15
d. MI?
+erintah yang dig)nakan )nt)k menampi!kan ni!ai terkeci! dari %)at) ko!om pada ta$e!.
Contoh : perintah )nt)k menampi!kan ni!ai terkeci! dari ko!om harga pada ta$e! 3eni%fi!m :
e. M>I
+erintah yang dig)nakan )nt)k menampi!kan ni!ai ter$e%ar dari %)at) ko!om pada ta$e!.
Contoh : perintah )nt)k menampi!kan ni!ai ter$e%ar dari ko!om harga pada ta$e! 3eni%fi!m :
20> SQL -en.an <:/09 ?; -an HAGI"<
0!a)%a *"8A+ 'B dig)nakan )nt)k me!ak)kan penge!ompokan data. Se$agai contoh.
terdapat ta$e! fi!m dengan data %e$agai $erik)t :
akan ditampi!kan hanya ko!om 3eni% dan diga$)ngkan dengan SAM&3m!Sfi!m( yang
dike!ompokkan $erda%arkan ko!om 3eni% pada ta$e! fi!m :
0!a)%a H>@I?* dig)nakan )nt)k menent)kan kondi%i $agi k!a)%a *"8A+ 'B. 0e!ompok
yang memen)hi H>@I?* %a3a yang akan diha%i!kan. Contoh : perintah )nt)k menampi!kan
data hanya ko!om 3eni% yang dike!ompokkan $erda%arkan ko!om 3eni%. dimana 3)m!ah fi!m
$erda%arkan ke!ompoknya har)% !e$ih $e%ar dari %at) pada ta$e! fi!m :
22> /:(5: ?;
0!a)%a 8"#=" 'B dig)nakan )nt)k meng)r)tkan data $erda%arkan ko!om tertent) %e%)ai
dengan tipe data yang dimi!iki. Contoh : perintah )nt)k meng)r)tkan data fi!m $erda%arkan
ko!om 3)d)! :
ata) tam$ahkan >SC )nt)k peng)r)tan %ecara ascending &menaik(
16
ata) tam$ahkan #=SC )nt)k peng)r)tan %ecara descending &men)r)n(
2> 0"I/", I"+5:S5'+ -an 5D'59+
a. A?I8?
A?I8? mer)pakan operator yang dig)nakan )nt)k mengga$)ngkan ha%i! $uery. dengan
ketent)an 3)m!ah. nama dan tipe ko!om dari ma%ing;ma%ing ta$e! yang akan ditampi!kan
datanya har)% %ama. 'erik)t ini perintah )nt)k mempero!eh data pada ta$e! fi!m dimana
3eni%nya action dan horor :
+erintah di ata% identik dengan :
?am)n tidak %em)a pengga$)ngan dapat di!ak)kan dengan 8". yait) 3ika $eker3a pada
d)a ta$e! ata) !e$ih.
$. I?:="S=C:
I?:="S=C: mer)pakan operator yang dig)nakan )nt)k mempero!eh data dari d)a $)ah
$uery dimana data yang ditampi!kan ada!ah yang memen)hi ked)a $uery ter%e$)t dengan
ketent)an 3)m!ah. nama dan tipe ko!om dari ma%ing;ma%ing ta$e! yang akan ditampi!kan
datanya har)% %ama.
Synta< : SELECT 4 FRO$ namatabel1 #"TERSECT SELECT 4 FRO$
namatabel2
+ada MySQ tidak terdapat operator I?:="S=C: nam)n %e$agai gantinya dapat
mengg)nakan operator I? %eperti contoh 1 pada $agian ?e%ted Q)erie%.
c. =IC=+: / Set #ifference
=IC=+: mer)pakan operator yang dig)nakan )nt)k mempero!eh data dari d)a $)ah
$uery dimana data yang ditampi!kan ada!ah data yang ada pada ha%i! $uery 1 dan tidak
terdapat pada data dari ha%i! $uery 2 dengan ketent)an 3)m!ah. nama dan tipe ko!om dari
ma%ing;ma%ing ta$e! yang akan ditampi!kan datanya har)% %ama.
Synta< : SELECT 4 FRO$ namatabel1 E9CEPT SELECT 4 FRO$
namatabel2
17
+ada MySQ tidak terdapat operator =IC=+: nam)n %e$agai gantinya dapat
mengg)nakan operator ?8: I? %eperti contoh 2 pada $agian ?e%ted Q)erie%.
2#> /*erasi Hoin
,oin mer)pakan opera%i yang dig)nakan )nt)k mengga$)ngkan d)a ta$e! ata) !e$ih dengan
ha%i! $er)pa ga$)ngan dari ko!om;ko!om yang $era%a! dari ta$e!;ta$e! ter%e$)t. +ada 3oin
%ederhana. ta$e!;ta$e! diga$)ngkan dan dida%arkan pada pencocokan antara ko!om pada ta$e!
yang $er$eda. 'erik)t ini perintah )nt)k menampi!kan ko!om 3)d)! dari ta$e! fi!m dan ko!om
harga dari ta$e! 3eni%fi!m :
+ada contoh di ata%. 6enis+ilm56enis3+ilm56enis mer)pakan kondi%i )nt)k
mencocokkan data antara ko!om 3eni% mi!ik ta$e! 3eni%fi!m dan fi!m.
a. Inner ,oin
Inner 3oin dig)nakan )nt)k menampi!kan data dari d)a ta$e! yang $eri%i data %e%)ai
dengan %yarat di$e!akang on &tidak $o!eh n)!!(. dengan kata !ain %em)a data dari ta$e! kiri
mendapat pa%angan data dari ta$e! %e$e!ah kanan. 'erik)t ini perintah )nt)k menampi!kan
data dari ta$e! 3eni%fi!m dan fi!m dengan %yarat $erda%arkan ko!om 3eni% :
$. eft ,oin
eft 3oin dig)nakan )nt)k menampi!kan %em)a data dari ta$e! %e$e!ah kiri perintah !eft
3oin $e%erta pa%angannya dari ta$e! %e$e!ah kanan. Me%kip)n terdapat data dari %e$e!ah
kiri tidak memi!iki pa%angan. tetap akan ditampi!kan dengan pa%angannya $er)pa ni!ai
?A.
c. "ight ,oin
"ight 3oin dig)nakan )nt)k menampi!kan %em)a data dari ta$e! %e$e!ah kanan perintah
right 3oin $e%erta pa%angannya dari ta$e! %e$e!ah kiri. Me%kip)n terdapat data dari %e$e!ah
kanan tidak memi!iki pa%angan. tetap akan ditampi!kan dengan pa%angannya $er)pa ni!ai
?A.
20
d. ?at)ra! ,oin
?at)ra! 3oin dig)nakan )nt)k menampi!kan %em)a data dari d)a ta$e! dimana 3ika terdapat
ko!om yang %ama. maka yang akan ditampi!kan hanya %a!ah %at)nya %a3a. yait) ko!om dari
ta$e! %e$e!ah kiri perintah nat)ra! 3oin.
1( ?at)ra! eft ,oin
?at)ra! !eft 3oin dig)nakan )nt)k menampi!kan %em)a data dari ta$e! %e$e!ah kiri
perintah nat)ra! !eft 3oin $e%erta pa%angannya dari ta$e! %e$e!ah kanan. Me%kip)n
terdapat data dari %e$e!ah kiri tidak memi!iki pa%angan. tetap akan ditampi!kan dengan
pa%angannya $er)pa ni!ai ?A.
2( ?at)ra! "ight ,oin
?at)ra! right 3oin dig)nakan )nt)k menampi!kan %em)a data dari ta$e! %e$e!ah kanan
perintah nat)ra! right 3oin $e%erta pa%angannya dari ta$e! %e$e!ah kiri. Me%kip)n
terdapat data dari %e$e!ah kanan tidak memi!iki pa%angan. tetap akan ditampi!kan
dengan pa%angannya $er)pa ni!ai ?A.
21
22

Anda mungkin juga menyukai