Mysql
Mysql
G*Y*
IKUM
!g*J\; E'j\
'#lY
'ii tl
tll
t. PENGENALANSQL. I"ANGUAGE.. 3. DATA MANIPUI,ATION I"ANGUAGE.. 4. FUNGSI AGREGAT 5. FUNGSI TAI{GGAI 6. FUNGSI STRING 7. DATASASE REI"ATION
2.
DATA DEFINITION
.......... 5
......7 ......I5
.....2g .....25
.........3I
......35 .....43 .....47 ....49 ....55
8.
AIffAR
TASEI (WHERE)
oOrN)
EXCEPT
;bl
SEJARAH SQL
Sejak kapan SQL mulai diperkenalkan ke khalayak umum sebagai bahasa standar database?
Pada tahun 1970, seiring dengan perkembangan database yang kian kompleks. E.F. Cold memperkenalkan database relasional dalam sebuah artikel yang berjudul "A Relational Model of data for large shared data bank". Dari sinilah lahir suatu konsep dasar untuk mengembangkan
database atau basis data.
Jadi pada tahun 1979-lah awal mula lahirnya SQL, yaitu dimulai dari Codd yang
memperkenalkan idenya tersebut dalam konsep yang lebih nyata, kemudian dikembangkan menjadi sebuah database relasional, yang salah satunya dari bahasa database relasional tersebut adalah SQL. Kelahiran SQL juga tidak terlepas dengan sebuah proyek IBM yang dikenal dengan Sisteln R. Proyek, yaitu sebuah proyek yang bertujuan untuk mengembangkan sebuah sistem database
relasional yang dapat memenuhi segala jenis sistem pengoperasian database modern. Dengan memperkenalkan sebuah bahasa yang dinamakan sequel yang berkembang menjadi SQL.
PENGGU\AA\ SQL
Menurut penggunaannya, perintah-perintah SQL dapat dikelompokkan rnenjadi yaltu
:
bagian,
l.
Secara Interpretasi (Interactive SQL), yaitu dengan cara memasukkan perintah-perintah SQL
melalui console atau mikrokomputer dan secara langsung diproses sehirrgga dapat langsung
dilihat.
2.
Secara Sisip (Embedded SQL), yaitu dengan cara menyisipkan perintah-perintah SQL ke dalarr-r
bahasa perrlrogram tertentu sehingga untuk melihatnya dibutuhkan rnedia khusus yang dirancang
STATEMEN SQL Yang dimaksud dengan statement SQL adalah sekumpulan perintah-perintah SQL l,ang memiliki peranan dalam pembentukan dan pengaturan suatu databasc. Statemen SQL terbagi menjadi 3 bagian, yaitu l. DDL (Data Definition Language), yaitu sebuah perintah SQL yang berorier.rtasi 1rrtl,r
:
pembentukan atau penghapusan database, tabel dan index. Yang termasuk ke dalam kategori DDL :
CREATEDATABASE DROPDATABASE
CRE.ATE
TABLE
ALTER TABLE
dengan
INSERT, SELECT, UPDATE, dan DELETE DCL (Data Control Language), merupakan kumpulan perintah SQL yang berfungsi untuk melakukan pendefinisian pemakai yang boleh atau tidak mengakses database dan apa saja
privilegenya. Yang termasuk dalam kategori DCL
:
COMMIT, ROLLBACK, GRANT, dan REVOKE. MySQL Console dari DOS pada sistem operasi Windows penulisan perintah-perintahnya tidak membedakan huruf besar dan huruf kecil, tapi pada sistem operasi Unix./Linux huruf besar dan kecil harus dibedakan. Dan sintak SQL pada linux harus huruf kecil semua.
FUNGSI SQL Fungsi-fungsi SQL
ini
DML.
Fungsi-
fungsi SQL yang lazim digunakan, di antaranya adalah : 1. Fungsi Agregat, yaitu sebuah fungsi built-in yang hampir pasti ada dalam sistem database relasional. Dengan kata lain fungsi agregat merupakan fungsi standar dari SQL. Yang termasuk dalam fungsi agregat: AVG, SUM, COLfNT, MAX, MIN, STD, dan STDDEV. 2. Fungsi Aritmatik, yaitu sebuah fungsi yang berguna dalam proses perhitungan atau manipulasi
data numerik.
f;
,ll
d*
i
$
Yang termasuk dalam fungsi aritmatik, di antaranya : + (penjumlahan), - (pengurangan), * (perkalian), / (pembagian),
3.
.itil
ilrt
:it
(sisa hasil bagi), AIIS (x), (x), (x), (x), (x), (x), (x), CEILING ROLTND dan lain sebagainya. ACOS ASIN ATAN COS Fungsi String, berfungsi untuk melakukan manipulasi data yang bertipe data datetime Format tanggal dan jam pada mySQL : Yyyy-mm-dd hh:ii:ss Yang termasuk dalam fungsi string, di antaranya
:
o%
,.**
.m",.:
t .:
il
-b
f
..DATA DE
:irl:llr:lr,i'
iut:1,u1
l:lilrlll
tl],,,li, l.,t
:l;la PENDAHULUAN i,t, peanbuatan dan pengaturan database Sebelumnya, telah dijelaskan melalui browser, yaitu dengan phpmyadmin. Mungkin bagi yang terbiasa meliakukan pembuatan dan
'
Ii ;l
11|ii
pengaturan database lewat',.Console,::,,'g161r,i",dos-prompt akan terasa kurang nyaman jika harus melakukannya pada browser. Untuk itu pada bab ini, akan dibahas bagaimana cara melakukan pembuatan dan pengaturan database lewat console pada operating system Linux atau dos-prompt
pada operating system Windows. Cara pembuatan dan pengaturan database pada console Linux
:
1.
2.
3.
Setelah mengaktifkan apapche dan MySQL, langkah selanjutnya yaitu menjalankan mysql. Dengan cara memasukkan perintah : lopt/lampp/birVmysql Akan terlihat tampilan pada console.
Cara pembuatan dan pengaturan database pada dos-prompt Windows : l. Setelah mengaktifl<an command prompt atau dos-prompt, masukkan perintah seperti berikut
2.
: :
2.
penghapusan,
dan
Ketentuan dalam membuat nama database, jangan menggunakan spasi database lebih dari satu kata. Dapat menggunakan underscore ( ).
jika memiliki
nama
MengaktifkanDatabase
:
Contoh
Mysql>USE siswa; Menghapus Database Bentuk umum penulisannya : DROP DATABASE nama_database;
Contoh
:
3. TABEL
Tabel merupakan media yang dapat melakukan proses relasional antartabel. Pada tabel
terdapat field dan record.
Field merupakan judul kolom yang memiliki tipe data, slze record, kunci relasi, dan
sebagainya. Record adalah kumpulan data yang tersusun secara per baris.
Char merupakan tipe data string yang menyediakan panjang karakter maksimal 255 karakter. Tipe data char juga memiliki panjang yang tetap untuk setiap data yang dimasukkan sesuai
dengan panjang yang dideklarasikan. Contoh: Anda menentukan char (15), lalu terdapat record
"lstimewa" pada field tersebut. Karena "Istimewa" memiliki 8 karakter maka mysql akan
menambah 7 spasi untuk melengkapi sisa spasi menjadi 15 spasi sesuai dengan apa yang telh
dideklarasikan.
Varchar
Pendeklarasian : Varchar (size)
Pada dasarnya tipe data varchar memiliki kesamaan dengan tipe data char, yaitu memiliki panjang maksimal 255 karakter. Perbedaannya apabila ada pada char jika jumlah karakter pada suatu field kurang dari ukuran nilai yang telah dideklarasikan, maka sisanya akan ditambahkan oleh jumlah spasi yang tersisa. Tidak demikian halnya dengan varchard, jika jumlah karakter
pada suatu field kurang dari ukuran nilai yang telah dideklarasikan, maka tidak akan ditambahkan spasi, melainkan hanya memasukkan jumlah karakter yang dimasukkan saja,
sehingga tipe data varchar lebih hemat dari char.
Tinl.text
Pendeklarasian:
Tinltext
Tipe data text dan blob memikiki kesamaan dengan tipe data char dan varchar, yaitu memiliki kesamaan dan perbedaan. Persamaan antara tipe data text dan blob adalah dapat menampung teks atau string yang tidak terbatas jumlahnya. Perbedaan tipe data blob memungkinkan untuk menyimpan data garnbar atau dokumen, sehingga antara dokumen dan gambar tidak lagi terpisah.
Tipe data text hanya dap4t menampung teks atau string saja. Mediumtext
Pendeklarasian: Mediumtext
Pendeklarasian: Mediumint(size)
Bigint
Pendeklarasian: B igint(size)
Nilai Float
Pendeklarasian: Float
Double
Pendeklarasian: Double
I{ebalikan dari float yang hanya menerima bilangan real, double dapat menerima bilangan re:
atau desimal.
Tipe Data Date dan Time Yang termasuk ke dalam kategori ini, adalah
Date menyimpan nilai format YYYY-MM-DD. Nilai yang diizinkan arrtara 1000-01-01 sampadengan 9999-12-31.
Datetime
Pendeklarasian: Datetime
Datetime menyimpan nilai format YYYY-MM-DD HH:MM:SS. Nilai yang diizinkan antar"
1000-01-01 00:00:00 sampai dengan 9999-12-31 23:59:59.
Timestamp
Pendeklarasian: Timestamp(size)
timestamp(2)
Pada tipe data datetime ini, saat pendeklarasian harus disertakan dengan size. Contoh + YY atau timestamp(4) -+ YYMM.
Time
Pendeklarasian: Time Format time adalah HH MM
:
S (Hour: Minute
econd).
Year
Pendeklarasian: Year(digit)
Untuk tipe data datetime year terdapat digit yang ditentukan dengan 2 atau 4. Jika dipilih 2 d,igi-. maka akan menghasilkan 00 (untuk 2000). Nilainya antara 1970-2069. Sedangkan untuk 4 digi: nilainya arrtara 190 1 -2I 5 5.
t0
menutup
key kemungkinan satu tabel juga mernbutuhkan key, yaitu prirnary key. Berikut ini merupakan tipe yang digunakan dalam relasi antar tabel atau satu tabel :
Super key
Merupakan kumpulan atribute(freld) atau satu atribut yang secara unik mengidentifikasi sebuah
record pada suatu relasi.
iI
r
Candidate key
Merupakan field unik yang umumnya dapat dijadikan sebagai relasi. Primary key Merupakan candidate key yang terpilih untuk mengidentifikasi record secara unik dalam suatu primary relasi. Jika terdapat auto_increment pada suatu field, maka field tersebut harus bersifat
key.
Alternative key Merupakan bagian dari candidate key yang tidak terpilih sebagai primary key. Foreign key Field yang menjadi penghubung suatu relasi, yaitu dari primary key'
Auto_Increment Berfungsi untuk memberikan nilai dengan kelipatan satu dimulai dari 1 secara otomatis, harus yang sehingga user tidak perlu memasukkan nilai. Field yang dapat diberikan auto-increment
bertipe data numerik. Dan umumnya digunakan dalam pembuatan nomor urut.
Membuat Tabel yang perlu diperhatikan sebelum membuat sebuah tabel adalah melakukan pengaktifan
>
Contoh:
'
Menghapus Tabel
II
Memodifikasi Tabel Macam modifikasi tabel, yaitu menambahkan field, mengganti size record suatu field, menghapus field, dan mengganti nama field. - Menambahkan Field
Bentuk umum penulisannya:
. .
IJntuk menyisipkan atau menambahkan field pada awal field. Mysql>ALTER TABLE tsiswa ADD column phone varchar(30) first; Untuk menyisipkan atau menambahkan field setelah field tertentu.
Mysql>ALTER TABLE tsiswa change phone -> telephone cha{25); Phone varchar(30) -+ telephone char(25)
Mysql>ALTER TABLE tsiswa modifz telephone varchar(25); Telephone char(25) + telephone varchar(25)
Mysql>DESC tsiswa;
t2
DATA
D EFI NIT I O N
I,AN G UAG E
I
I
I I j
ALTER TABLE old_table_name rename new_table_name; Contoh: Mysql>ALTER TABLE tsiswa rename kesiswaan;
li
:
Menghapus Tabel
4. INDEX
Index berfungsi mempercepat proses pencarian data dalam suatu tabel. Adanya index pada suatu field tabel, menyebab,kan proses pencarian otomatis akan dilakukan terlebih dahulu ke dalam index, apabila ditemukan baru akan diambilkan data yang sesungguhnya dari tabel. Apabila tidak ditemukan dalam index, sudah dapat dipastikan bahwa data tersebut memang tidak ada dalam tabel. Index juga dapat dibuat untuk setiap kolom yang akan dijadikan kriteria tertentu untuk
pencarian data, sehingga proses pencariannya akan lebih cepat.
Pada index terdapat perintah pembuatan dan penghapusan index, namun tidak terdapat
perintah perubahan nama index.
Membuat Index
Bentuk umum penulisannya: CREATE INDEX nama index ON nama nama table(freld); Atau
Menghapus Index
Penghapusan nama index
I?
5.
6. VIEW
Sebuah view adalah tabel yang dibangun dari satu atau beberapa tabel yang sudah ada. Secara VIEW tidak membuat penyimpanan data seperti tabel biasa, melainkan hanya menyimpan referensi./pointer ke record pada tabel-tabel yang berkaitan. VrEWbiasa disebut juga ,.virtual tabel,,.
fisk'
Membuat View
Bentuk umum penulisannya
:
.
CREATE VIEW view_namef(column l,column2, . . )l AS SELECT table_name [with check option]; Contoh: Mysql>CREATE VIEW mhs AS SELECT * FROM mahasiswa;
Keterangan:
statement
FROM
nama view yang akan dibuat. nama atribut untuk view. atribut yang akan dipilih dari tabel basis data nama tabel basis data.
.t
fl
3
.tt
Memperoleh Informasi pada View View yang sudah dibuat dapat di akses seperti dalam mengakses tabel. Contoh: Mysql>SELECT * FROM mhs; Mengubah View Contoh: ALTER VIEW mhs AS
SELECT npm, nama FROM mahasiswa:
Menghapus View
Bentuk umum penulisannya : DROP VIEW nama view;
DATA MAN
1.
INSERT
Insert merupakan perintah SQL yang berfungsi untuk menyisipkan nilai-nilai pada field-field
tabel.
INSERT INTO nama_table VALUES (nil 1, n|t2, ...); INSERT INTO nama table(fieldl, field2,
Contoh:
..
.) VALUES
l.
Rumusan bagian B: Adanya salah satu field yang memiliki sifat auto_increment, sehingga dalam
melakukan penyisipan nilai secara otomatis langsung disisipi walau tanpa ada nilai yang disisipi secara langsung. Contoh rumus yang digunakan adalah:
Field
no
NULL auto lncrement MUL NULL nls Varchar(7) NULL nama Varchar(25) NULL alamat Varchar(30) "auto_increment" pada bagian "Extra". Karena sifat dari Pada field "no" terdapat auto_increment, yaitu menyisipkan nilai secara otomatis, maka user tidak perlu menyisipi nilai. Oleh sebab itu hanya ada 3 held yang harus disisipi secara langsung, yaitu: nis, nama. dan
PRI alamat. 15
Type Int(5)
I(ev
Default
Extra
melakukan bentuk nrmusan bagian "B", selain field yang memiliki auto increment. Ada juga field yang harus dimasukkan dengan rumusan tertentu. Contoh, hatikan tabel ransaKsl ransaksi berikut oerlKut 1nl ini : Kode Jenis Harga Jumlah
Yang
dapat
01
? ?
3500
03
2s000
Untuk "Jenis" tidak dapat diinput secara manual melainkan harus menggunakan rumusan. Jika Kode 01 maka Elektronik, jika Kode 02 maka Komputer dan jika Kode 3 maka Game Station. Maka cara menyisipkan nilai untuk field Kode, Harga dan Jumlah adalah sebagai berikut
:
Untuk Jenis bila penyisipan nilainya secara interprestasi (langsung), maka hanya dapat
dilakukan dengan perintah update. Jika penyisipannya dengan cara Embedded (penyisipan lewat program tertentu), dalam menyisipkan jenis dapat dilakukan dengan rumusan bagian B, atau dengan perintah update.
2.
Rumusan basian A: Apabila deretan field-field yang terdapat pada suatu tabel memiliki deretan ilai sama. Perhatikan rernatlKan stnrKtur struktur taDel tabel mataKullan. natakuli h. berikut berlKut m1: ini:
Field
Kode narnamtk
Kev
Default
Extra
NULL NULL
Karena field-field yang terdapat pada tabel matakuliah tidak mengandung sifat auto_increment atau rumusan tertentu, maka deretan field dan penyisipan nilai adalah sama. Contoh penyisipan
adalah sebagai berikut
:
2" SELECT
Select merupakan perintah untuk menampilkan record atau data. Dalam menampilkan record atau data dapat dilakukan dengan 2 cara, yaitu tanpa kondisi dan dengan kondisi.
Bentuk umum penulisan tanpa kondisi: SELECT fieldl,... FROM nama_table; Atau
Mysql>SELECT nis,nama,alamat FROM kesiswaan; Artinya: Menampilkan data nis, nama, dan alamat saja.
Bentuk umum penulisan dengan kondisi: SELECT fieldl, ... FROM nama table WHERE kondisi;
Atau
SELECT * FROM nama table WHERE kondisi; Contoh:
Mysql>SELECT * FROM transaksi WHERE kodr"0l"; Artinya: Menampilkan seluruh record yang berkode 01. Atau Mysql>SELECT kode,harga FROM transaksi WHERE kode:"03"; Artinya: Menampilkan data kode dan harga yang berkode 03.
Yang perlu diperhatikan dalam penyeleksian data atau record dengan kondisi, terdapat
operator-operator dan tanda-tanda khusus.
Pembandi
Operator
Arti
Sama Densan
Lebih Besar Lebih Kecil Lebih Besar Sama Densan Lebih Kecil Sama Densan Bukan atau Tidak Termasuk
Like
Sama halnya dengan Sama Dengan (:), namun pada Like pada diikuti oleh tanda-tanda khusus, yaitu : %o (persen) dan _ (underscore). Penjelasan : 7o untuk menggantikan beberapa
Untuk lebih mudah memahami perintah select dengan menggunakan kondisi, maka dibuatlah tabel kuliahan yang field dan recordnya seperti Alamat Nim Nama Bosor Bintang 21196353 Bogor Ningrum 4r29652s
s0096487
Pipit Nurhavati
Bekasi Jakarta
r0296832
3r296500 3t292521
Budi
Depok
Jakarta Jakarta T7
Lilik
Pratiwi
4tt97522
rl
-t
..i,t
Bagaimana cara menampilkan seluruh data kuliahan bagi yang namanya mengandung huruf
i
Penulisannya:
,o/oiyo,:
x $
N
cara menampilkan data' namun hanya Nama dan Alamat saja bagi yang beralamat di Jakarta.
Penulisannya:
Mysql>SELECT Nama,Alamat FROM kuliahan WHERE ->AlamaF'Jakarta'; cara menampilkan seluruh data bagi yang beralamat di Jakarta dan Boqor.
Penulisannya:
cara menampilkan seruruh data bagi yang namanya berawalan dari huruf ,p,
Penulisannya:
Mysql>SELECT * FROM kuliahan WHERE Nama LIKE .p%,; cara menampilkan seluruh d,ata padatabel transaksi yang harganyaantara Rp. 10.000 sampai dengan Rp. 35.000.
Penulisannya:
5000;
t8
DATA MANIPUI,ATION I,ANGTJAG E Cara menampilkan seluruh data mahasiswa secara urut dari Ake Z. Penulisannya:
Mysql>SELECT * FROM kuliahan ORDER By Nama ASC: cara menampilkan seluruh data mahasiswa yang tidak mengandung huruf .u,
Penulisannya:
Mysql>SELECT * FROM kuliahan WHERE Nama NOT LIKE,%ouo/o,: cara menampilkan seluruh data transaksi yang harganya bukan Rp. 20.000.
Penulisannya:
3.
UPDATE
Perintah update digunakan untuk melakukan penyimpanan hasil editing suatu data. Sama halnya dengan perintah select, dalam proses update dapat dilakukan tanpa
:
dengan kondisi.
kondisi atau
Untuk itu diperlukan kondisi agr yang berubah hanya kondisi-kondisi tertentu.
Bentuk umum penulisan dengan kondisi : UPDATE nama_table SET field:nilai WHERE kondisi;
'lq
I
f. .:
Kode
01
Jenis
Harga
3500 25000 10000
Jumlah
5 2
2
J
I
?
03
o2
03
? 2
27500
Jika Kode 0l maka Elektronik. Jika Kode O2 maka Komputer. Jika Kode 03 maka Game Station. cara menginput nilai untuk field "Jenis" menjadi Elektronik bagi yang berkode 01. Penulisannya:
->Kode:"01";
cara menginput nilai untuk field "Jenis" menjadi Komputer bagi yang berkode 02
Penulisannya:
I
i
a:
->Kode:"02":
cara menginput nilai untuk field "Jenis" menjadi Game Station bagi yang berkode 03.
Penulisannya:
->Kode:"03";
4.
DELETE
Delete memiliki fungsi untuk menghapus suatu data pada suatu tabel. Delete pun memiliki dari2bagiaq yaitu tanpa kondisi dan dengan kondisi.
:
Mysql>DELETE FRoMtransaksi;
Penjelasan:
Seluruh data pada tabel kuliahan akan terhapus semua. Untuk itu harus berhati-hati dalam
menggunakan perintah delete.
Bentuk umum penulisan dengan kondisi : DELETE FROM nama-table WHERE kondisi;
yang memiliki range antara 10000 s/d 25000 Cara menghapus harga pada tabel transaksi
PenulisannYa:
2'Buatlahtabeldengannama.?enilaian,,denganstrukturtabelsepertiberikut Extra
Field Nim
KdMK
Key
PRI
In(8)
Varchar(5) Varchar Float(5) Float(5) Float(5)
I
NamaMK Mid
Final
NilRata
n nilai- nilain
tabel berikut
Nim to296832
t0297732 20216832 30216832 ro297732 20216832 30216832
4.
5.
KdMK
KKO2I KD132
KKO21
NamaMK
,| ,| ?
Mid
/J
'71
5
Final
82
NilRata
?
R1 5
81,7
17 82,5 6J
f
1
? ,) 2
KUT22
KKO2I
,)
654 7q5
80.5 67
KDI32
KKO21
I
?
'/8
TampilkanseluruhrecordmahasiswayangberkodematakuliahatauuI(dMK:KKO2l!
bagi yang nilai mid-nya antara 75 dan Tampilkan fecofd field Nim,KdMK dan Mid saja
90
!
ZL
t
lsrpkan nilai untu k field nama matakuliah
KdMK
KKO21
NamaMI(
Sistem Basis Data
KDI32 KUI22
7.
SIM
Pancasila
Mid+Final/2
8.
Sisipkan nilai untuk field nilai rata-rata(NilRata), dengan ketentuan sebagai berikut
102968321
I e
,
*
22
FU
,, . 'I'UNGSI AGREGATT,
't
"
.:,.
,rttr:,,,, ..,_.
,::r,,rlri.l "tt"''
survt 1et<spresillli '"' .' terdapat pada suatu field Yang bersifat Berfungsi untuk mencari total nilai ikan tabel nilai di bawah ini : numerik. Untuk lebih mudahnya dalam mernbgat rgatgjl5 Final Mid KdMK Nim
'
.."''
KI(021 KD132
KKO21
75 75 R1
5
82
7?5
81,7
'7',7
KUI22
KKO2I
65,4
79,5
82,5
ffir
I
Hasilnya:
378,4
Total Mid
303,4
COUNT (x) tabel' Memiliki fungsi untuk mencari berapa jumlah total baris yang terdapat pada suatu
Contoh:
23
MODULPMI{TIKUM SISTEM r|
BASIS
DATA (MySQL)
. AVG (ekspresi)
Berfungsi untuk mencari nilai rata_rat apadasuatu pada field bersifat numerik. Contoh: Mysql>SELECT AVG(Final) Rata_rata_Final FROM nilai:
Hasilnya:
(ekspresi) Berfungsi untuk mencari nilai tertinggi dari suatu field yang bersifat numerik. Contoh:
. MAX
a t
. MIN (ekspresi)
Berfungsi untuk mencari nilai terendah dari suatu field yang bersifat numerik. Contoh:
,f**
24
FU
Interval'nilaijnterval)
:
:'(
'
ADDATE (x,
Daftar Ti
Satuan detik
Satuan menit
Minute
Hour
Day
Satuan iam
Satuan hari Satuan bulan Satuan tahun
Month
Year
Minute Second Hour Minute Day Hour Year Month Hour Second
Contoh:
->Hasilnya-setelah-Ditambah-1
0hari;
CURDATE ( ) sePerti halnya fungsi now ( ) Yang drsertal Menghasilkan tanggal saat ini, namun tidak
dengan waktu.
Tanggal llari-Ini
2006-05-O1
25
il
5:
MODULPMKTIKUM 1ISTEM
BASIS
DATA (MySQL)
. CURTIME ( )
Menghasi lkan waktu terkini.
CURRENT_TIMESTAMPO
Menampilkan tanggal saat ini berikut dengan jam, menit, dan detik.
Contoh:
DAYNAME.(penanggalan)
:
Berfungsi untuk menampilkan nama hari sesuai dengan tanggal saat itu. Contoh
;1
Mysql>SELE CT daynam
e(,, 2O O 6 _0 5 _ 07,,)
. DAYOFMONTH (penanggalan)
Berfungsi untuk menampilkan tanggal pada suatu format penanggalan dari sebulan.
Contoh:
26
. .
DAYOFWEEK(penanggalan)
FI]NGSITAAIGGAL
Berfungsi untuk menampilkan hari dari seminggu dengan menggunakan kode angkayai Berikut ini daftar nama hari dan kode
Nama Hari
Sundav
Kode Angka
I
z
J
Mondav
Tuesday Wednesday
4
5
Thursday
Fridav
Saturdav Contoh:
6 7
Mysql>SELECT dayofweek("2006-05-07")Kode-Tanggalnya:
Hasilnva:
@ .
F
DAYOFYEAR(penanggalan)
Berfungsi untuk menampilkan hari ke berapa dalam setahun
Contoh: Mysql>S ELECT dayo $r eat ("2o0 6 -o 5- 07 ") S aat Ini-Hari-I(e
;
Fungsi extract ini dapat mengambil bagian dari tanggal, bulan, atau tahun saja dari suatu penanggalan. Juga dapat mengambil bagian dari jam, menit, atau detik dari suatu pengaturan waktu.
Contoh extract dari penanggalan: Mysql>SELECT Extract(Day FROM"2OO6-O5-O7")NiIai Extraatnya; Hasilnya:
penanggalan/waktu)
Nilai Extractnva
7
27
BASIS
DATA (MySQL)
Contoh:
FROM_DAyS(tanggal dalam nilai) Fungsi ini berguna dalam mengubah nilai menjadi bentuk penanggalan. Namun nilai tersebu: harus hanya terdiri dari 6 angka. contoh: g145 16, 901234.
I5I
Mysql>SELECT FROM_DAYS(90
Hasilnya: Hasilnya:
0)penanggalannya_adalah;
i Penanggalannla_aclatah
1 .
2468_04_0t
Contoh:
HOUR (pengaturan waktu) Berfllngsi untuk mengamb' nirai jam dari suatu pengaturan waktu.
I 2 : 3 5 :0
Mysql>SELECT HOUR(..
Hasilnya:
1,,)Jamnya_adatah;
- MINUTE
(pengaturan waktu)
I I
:
I i .
Nlenitnya adalah
:s --l
2 : 3 5 :0
1,,)Jamnya_adalah;
Hasilnya: Hasilnya:
Detiknvu
uduluh--
28
MODULPMI{TIKUM SISTEM
TO_DAYS(penanggalan)
Contoh:
diinginkan.
DATE_FORMAT(penanggalan/waktu, simbol format) Berfungsi untuk merubah nirai penanggalan atau pengaturan waktu dengan format yane
Berikut ini
Menampilkan nama bulan bukan dalam bentuk Menampilkan bulan
Menampilkan nama bulan dalam bentuk sing<atan. Menampilkan nama hari bukan dalam bentuk singkatan. Menampilkan nilai hari ke dalam sebulan. Menampilkan tahun format 4 disit. Menampilkan tahun dengan format 2 dipit. Menampilkan nomor hari dalam setahun. Menampilkan nama hari dalam bentuk s Menampilkan nomor hari dalam sebulan.
I
::
Menampilkan jam dalam format 12 iam. Menampilkan jam dalam format 24 i Menampilkan jam dalam format 24 dalam format 12 iam OO-12. ilkan detik
!
i i
Contoh:
Mysq
1> S
2O 0 6
-Og - |
->Formatnya;
r-
IF
2006
*rkt<
30
,i:'llli''
tlr
Ascii
(x)
,,,
',,'
_suattlii$11i1$;l
Mysql>SELECT ascii("7o")Nilai_Asciinya;
Hasilnya:
Nilai Asciinva
J/
Char (xl, x2, ...) Fungsi ini merupakan kebalikan dari fungsi ascii(x), jika pada tungsi ascii (x) mengembalikan string menjadi nilai ascii. Fungsi char(xl,...) adalah mengubah fungsi ascii menjadi
karakter. Contoh:
Karakternva adalah
YoA+YIB
Char_Length(string)atauLength(string) Char_length(string) memiliki fungsi yng sama dengan length(string), yaitu untuk menghitung jumlah karakter pada sebuah string.
Contoh:
Hasilnya:
Encode (stringrstring_enkripsi)
Berfungsi untuk merubah nilai string menjadi kode-kode tertentu. Dalam merubah string menjadi kode harus terdapat string dan string_enkripsi. Jika hanya terdapat string saja maka proses
tidak dapat dilakukan. Contoh: Mysql>SELECT encode("AuTo","CAD")Kodenya_adalah;
i.
Left(stringonilai pengambilan dari kiri) Berfungsi untuk mengambil karakter terkiri dari suatu string dengan jumlah pengambilan karakter dari kiri.
Contoh:
Mysql>SELECT
Hasilnya:
left ("Indonesia,3
")3 Digit_Dari_Kiri;
Berfungsi untuk mengambil karakter dari suatu string, sebelumnya harus menentukan terlebih dahulu posisi pengambilan. Setelah itu baru menentukan jumlah karakter yang akan diambil dari posisi yang telah ditentukan. Contoh:
I I
Right (string,nilai pengambilan dari kanan) Berfungsi untuk mengambil karakter terkanan dari suatu string dengan jumlah pengambilan
32
FUNGSI STRING
kecil.
Lcase(string)AtauLower(string) Berfungsi untuk merubah tipe karakter dari suatu string dari huruf kapital menjadi huruf
Contoh:
Hasilnva:
Ucase(string)AtauUpper(string)
Fungsi ucase(string) atau upper(string) adalah merupakan kebalikan dari fungsi lcase(string), yaitu untu! merubah huruf kecil menjadi huruf kapital atau besar.
Contoh:
. Ltrim(string)
Berfungsi untuk menghilangkan atau menghapus spasi dari bagian kiri suatu string.
Contoh:
Kugapai harapan')
. Rtrim(string)
Berfungsi untuk menghilangkan atau menghapus spasi dari bagian kanan suatu string.
Contoh:
Mysql>SELECT rtrim("Kugapai
->Setelah_di*rtrim; Hasilnya:
harapan .)
Setelah
Kueaoai
di rtrim
. Trim(string)
Berfungsi untuk menghilangkan atau menghapus spasi dari bagian
string.
kiri
dan kanan
qlt:-
t
r ; :
Contoh:
Kugapai harapan
")
t
.
Password(string)
Berfungsi untuk merubah suatu string menjadi kode sandi yang telah dienkripsi.
Contoh:
Mysql>SELECT password(..rahasia',)Dijassword_menjadi;
Hasilnya:
rl.**
34
Pada dasarnya model relasional digunakan untuk mengatasi kesulitan dalam pengelolaan dan
;,"il;;ffiH:"*':ffir;
berikut ini:
Sks
2
A +
Nomor
2
J
A
Nim
99130012
9914sO21
tr(ode-mfl'
101
05 03 o2 03
99276521
991300t2 98254t23
99145021
4 2 4 2
4
A
6 7
8
99671204
o4 o6
o5 o2
99r30012
99276521 99145021
t0
ll 1.
Anomali fnsert
r03
101
982s4123
4
2
Jika kampus akan mengadakan matakuliah baru dengan kode matakuliah 107, maka proses penyisipan untuk kode matakuliah r07 tidak dapat dilakukan sampai ada mahasiswa yans mengambil
matakuliah tersebut.
35
2.
Anomali Delete
atau tuple' Kesalahan yang terjadi di saat proses penghapusan record
Contoh:
untuk membatalkan mengamb: Mahasiswa yang memiliki Nim 99671204 memutuskan tersebut, akan berakibat hilangnl' matakuliah 106, maka dengan demikian jika didelete record
informasi tentang kode matakuliah 106'
3.
kode matakuliah yang diambil ole: Jika Anda perhatikan pada tabel kuliahan, terdapat banyak dilakukan perubahan SKS untuk koc' mahasiswa dengan NIM yang berbeda. Misalnya akan kali sesuai dengan banyaknrmatakuliah 103, maka akan dilakukan proses update beberapa
jumlah yang mengambil kode matakuliah tersebut' dan matakuliah bukaDari anomali-anomali yang terjadi di atas maka daftar mahasiswa jumlah kerangkapan dalanya sedikit)' termasuk well-Structure relation (sebuah relasi dengan dilakukan proses normalisasi, yat:' Dengan demikian daftar mahasiswa & matakuliah harus tersebut adalah sebagai berikut ini : dengan membagi 2 tabelyang terpisah. Tabel-tabel
Tabel matakuliah:
Tabel kuliah:
Sks
2
A A
Kode-mtk
101
Nim
99130012
Kode-mtk
101
t02
103
99r4502r
99276521
105 103
104
105 106
99130012
98254123 99L45021
r02
103
4 2
r04
terkait antara satu dengan ya: Dari kedua tabel tersebut akan dibentuk relasi yang saling field yang memiliki primary key atau fore:' lainnya. Untuk melakukan prosoes relasi dibutuhkan
key.
.Kode.mtk' terdapat banyak data yang Sama, seperti kode matakuliah 1' pada tabel kuliah field .Kode-mtk, pada tabel kuliah tidak dapat dijadikan primary key. Jika Anda amati fie Berarti field .Kode-mtk'pada tabel matakuliah tidak terdapat datayang sama, berarti field 'Kode-mtk' pada ta:" I
matakuliah dapat dijadikan primary key' sebagai primary key' sedangkan fi' Kesimpulannya field 'Kode-mtk' pada tabel matakuliah .Kode-mtk, pada tabel kuliah sebagai foreign key. Untuk lebih jelasnya perhatikan skema di sini :
Tabel kuliah:
Sifatfieldprimarykey,yaitutidakbolehterdapatdatasamadalamfieldtersebut.Contc,
Tabel matakuliah:
Kode-mtk
Sks
Nim Kode-mtk
36
DATABASE REI,ATION
Dari relasi kedua tabel ini, yaitu tabel matakuliah dan kuliah dapat terbentuk daftar mahasiswa & matakuliah seperti yang nampak seperti berikut:
Daftar mahasiswa & matakuliah:
Nomor
I
Nim 99r30012
9914s021
Kode-mtk
101
Sks
2 4
105
PEMBENTUKAN NORMALISASI Perubahan daftar mahasiswa & matakuliah menjadi 2 tabel, yaitu tabel matakuliah dan kuliah adalah merupakan bentuk normalisasi. Dengan demikian terjadi suatu kondisi di mana proses penginputan record baru untuk kode matakuliah dilakukan pada tabel matakuliah, maka secara otomatis akan terlihat perubahan SKS atau kode matakuliah, maka secara otomatis akan terlihat pula dalam daftar mahasiswa & matakuliah. Berikut ini akan dijelaskan seputar pembentukan normalisasi d.ari bentuk tidak normal
(Unnormalized Form).
2.
a)
Bentuk tidak normal (Unnormalized Form) Pada bagian ini setiap record yang diinput tidak mengalami tahap penyeleksian, sehingga akan terjadi kerangkapan data atau duplikasi data. Jadi datayang diinput terlihat apa adanya sesuai
dengan yang diinput.
Contoh:
I(obuk
l0l-K
103-c
1
Judul
Belajar Sendiri
Pengarang
RKI
001
RK2
003
001
VB.6
Kisah Cinta
Sans Penvair
10-S
M. Bakri
Minolsta Cokro
S.
RI(3
001
003
106-4
o02
003
o02
001 003
Ust. Soleh
b)
ini atau yang disebut INF harus bersifat atomik. Atom yaitu
Ciri-ciri INF:
Tiap field harus bernilai "atomik, yaitu setiap recordnya hanya terdiri dari satu nilai. Setiap field harus hanya memiliki satu pengertian dan memiliki nama yang unik. Tidak terdapat record yang sama atau bernilai ganda. Hasil han darr Unnormalized Form adi INF adalah berikut : Kobuk Judul Pengarang I(ode RK l0l-K Belaiar Sendiri VB. 6 M. Bakr 001 l0l-K Belaiar Sendiri VB. 6 M. Bakr 003 103-c Kisah Cinta Sans Penvair Minolsta 001 103-c Kisah Cinta Sane Penvair Minolsta 003 1 10-S Belajar Cepat Berhitune Cokro S. o0l I l0-s Belaiar Ceoat Berhituns Cokro S. o02 106-A Cara Cepat Belaiar Database Lina Marlina 003
37
c)
Bentuk 2NF (Second Normal Form) Apabila bentuk normal pertama atau
lNF terpenuhi,
kedua atau 2NF. Pada tahap ini tabel yang terdapat pada bentuk normal Der1.arna atau dibagi menjadi 2bagian, yaitu : Tabel Buku
lNF
aka:
Kobuk
101-K
103-C
1 t.
Judul
Belaiar Sendiri VB. 6 Kisah Cinta Sang Penyar Belaiar Cenat Berhitung Cara Cepat Belaiar Database
Pensarang
10-S
106-A
Kobuk
101-K 101-K
103-C
Kode RI(
001 003 001 003 001
103-c
1
I 10-S 10-S
o02
003
106-4'
d)
Bentuk 3NF (Third Normal Form) pada tahap bentuk normal ketiga, terjadi suatu relasi yang terdapat dependency, yaitu fie.: yang bergantung dengan field yang lain pada tabel yang berbeda. Seperti pada contoh bentuk norm kedua di mana field Kobuk (foreign key) pada tabel rak buku bergantung kepada field Kobu' (primary key) pada tabel Buku. Dengan demikian contoh bentuk normal kedua telah memenuhi syarat untuk dijadikan bentu' normal ketiga.
Tabel Buku: Tabel Buku:
Kode RI(
3. JENISRELASITABEL
Terdapat 3 jenis relasi tabel, yaitu one to one, one to Many, dan Many to Many.
Relasi One to One pada jenis relasi one to one, setiap record pada tabel induk hanya memiliki satu relasi deng":
tabel anak.
38
DATABASE REI,ATION
TD WK
0l
02
03
A
B
C
TD WK
IA IB
1C
0l
o2 03
Relasi one
to many, yaitu suatu jenis relasi tabel yang memberikan hak untuk
berrelasi
I(dHwn
01
02
03
Kerbau
ID Pemilik
A001
Nama Pemilik
H. Bajuri
ZainaI Sambri
Jumlah
2
Jenis llewan
Kambing Kambing I(erbau
Sapi
A003 A002
A003
I
I
Andi Solahudin
Zatnal Sambri
Andi Solahudin
Syamsudin
2
J
Diah Armintai
A00l
A001
H. Bajuri
H. Bajuri
I
1
I(erbau
Contoh relasi
kerbau.
di
dari satu jenis hewan yang berbeda. Contoh seperti H. Bajuri yang berqurban kambing, sapi, dan
Relasi Many To Many Pembentukan relasi many to many akan terjadi apabila beberapa baris pada sebuah tabel berelasi ke beberapa jenis pada tabel yang lain. Untuk merepresentasi relasi ini tidak cukup hanya
menggunakan dua table, melainkan harus memerlukan tabel perantara lain.
39
Contoh:
ID
Penerbit
01
Kota
Jakarta Jakarta
02 03
Banduns
Padans
o4
ID
Pensarans
A0l
AI02
Alamat
Jakarta Jakarta Subans Banduns Medan Jakarta Subans
A03
A04
A05 A06
AO7
Tabel Toko
Nama Pengarans Ust. Yudo Kuncoro
Mohamad Suharto. S.H.
Dede Sunarya
ID
Toko I
2
5
4
5
6 7
8
Alexander
Pada Tabel Toko terlihat bahwa penerbit dapat berhubungan dengan lebih darr
pengarang' begitu juga halnya dengan pengarang yang dapat berelasi dengan banyak penerbit.
4. MASALAH
yaitu permasalahan tampilan tabel dan permasalahan integritas referensial. Untuk memudahkan memahami kedua permasalahan tersebut, perhatikan tabel Buku dar !.,"
Buku.
Walaupun normalisasi telah membantu dalam menghilangkan anomali-anomali, bai. anomali insert, update, ara.u delete. Ada hal yang ditimbulkan setelah proses normalisasi itu ber:;
Permasalahan Tampilan TabeI Jika pada sebelumnya hanya terdapat satu table, maka untuk menampilkan semua re::cukup hanya dengan menggunakan perintah sql: SELECT * FROM nama_tabel. Sedangkan u :_: menampilkan beberapa record saja dapat menggunakan sintaks LIMIT dan oFFSET.
Contoh: Untuk menampilkan 5 record pertama dari tabel buku. Mysql>SELECT * FROM buku LIMIT 5; - Untuk menampilkan 3 baris pertama yang diurutkan berdasarkan pengarang. Mysql>SELECT * FROM buku ORDER By pengarang LIMIT 3; - Menampikan 2 baris setelah melewati 2 baris pertama yang diurutkan berdasarkan kode buku
DATABASE REI,ATION
Contoh:
Menampilkan judul buku pengarang, dan rak buku yang kode rak bukunya 001. Mysql>SELECT Buku.Judul,Buku.Pengarang, Rakbuku.Kode_RK ->FROM Buku, Rak buku WHERE Rakbuku.Kode RK:,001';
t:
ll
. -
Peirmasalahan Integritas Referensial Berupa Maintenance Consistency of Reference antara 2 buah tabel relasi vans salins terkait. Sebelum terjadinya proses normalisasi, setiap penambahan record dapat dilakukan pada tabel Relasi. Setelah normalisaasi, untuk menambahkan rak buku harus melalui proses pengecekan
Contoh:
terlebih dahulu, apakah buku yang akan ditampilkan pada suatu rak apakah sudah ada dalam tabel Buku atau belum. Jika belum terdapat kode buku tersebut pada tabel Buku, maka proses
penginputan record pada tabel Rak Buku tidak dapat dilakukan. Jika ingin melakukan penghapusan data pada tabel Buku harus berhati-hati, karena akan berpengaruh pada tabel Rak Buku. Jika Anda menghapus pada bagian tabel Rak Buku saja, maka tidak akan berpengaruh pada tabel Buku. Karena sifat field Kobuk pada tabel Buku bersifat primary key, sedangkan field I(obuk pada tabel Rak Buku sebagai penghubung saja.
***
4t
:
rrr.
:.1
rii'lti.l
r.r:,,
RELASI AN.
,,.iit,,t.i.,.....
'
i,.".
Diberikan sampel 3 buah tabel yang saling berelasi satu sama lain beserla sampel datanya.
Nasabah
ld_nasabah Nama_nasabah
ld
nasabah
Nomor_rekening
Saldo
I(ode_cabang Nama_cabang
Alamat nasabah
Kota
Kode cabang
Nasabah Rekening
Id
r-rasabah
Nomor rekening
001000123
0020001 23
Saldo
Kode cabang
A123
AAOOI
ABOO2
CCOO3
CDO04
DDOO5
id
nasabah
Narna nasabah
Rudi
Alamat nasabah
Jl. Sepat
Jl. Baung Jl. Gurame Jl. Nila Jl. Mujair
AAOOl
ABOO2
CCOO3
Yuni
Hani
CDO04
DDOO5
Kiki Lala
Cabang
Kode cabang
A123
Nama cabang
JKTOI
JKTO2
kota
Jakarta Pusat Jakarta Selatan Bandung Surabaya
BDOOl SBYOl
DPKOI
Buat database dengan nama bank, kemudian buat 3 tabel di atas" lsikan data sesuai tabel di atas..!
+*J
dan saldo..
I
..
Tentukan tabel mana saja yang dibutuhkan. Untuk menampilkan id-nasabah dan nama- nasabah kita membutuhkan tabel nasabah Sedangkan untuk menampilkan saldo kita membutuhkan tabel rekening' Jadi kita akan menggunakan 2 tabel tersebut.
.
a
Perhatikan relasi dari tabel tersebut. Tabel nasabah dan rekening dihubungkan olei atribut id_nasabah. Buat query SQL. SELECT id_nasabah.nasabah, nama_nasabah.nasabah, saldo.rekening FROM nasabah, rekening WHERE nasabah.id nasabah : rekening. id-nasabah;
2.
Tampilkan nomor-rekening dan nama-cabang..l - SELECT rekening.nomor-rekening, cabang.nama-cabang FROM rekening, cabang WHERE rekening.kode-cabang : cabang.kode-cabang; Tampilkan nama-nasabah, alamat-nasabah, dan nomor-rekening" Tampilkan nomor-rekening dan kota..!
!
3. 4.
Mahasiswa npm
nama
kelas
200912300r 2009123002
2009123003
Abisail
Reddi
Reva
48
4C
4A
4E 4B
2009123004
2009123005
Chyntia
Steven
npm
2009123001
no mk
I 1001 12001
mid
78 80 69 80
85
final
80 87 75
I I
13001 I
1
1001 I
60 90
14001
l00l I
Algoritma
Buatlah database dengan nama mhs dan tabel di atas kemudian kedakan latihan..l
l.
2.
J.
Tampilkan tampilkan nama mahasiswa yang nilai midnya di atas g0..! Tampilkan nama, kelas yang nilai mid dibawah g0 atau nilai final di atas g0..! Tampilkan nama matakuliah yang nilai mid di atas g0..1
4.
5.
rF*{.
45
.ELASI
AN
l't:
lli;]].:
bandung..
a. b. c.
Tentukan tabel yang akan digunakan. (nasaball rekening, cabang) Cari atribut penghubung antar tabel. (nasabah dengan rekening dihubungkan oleh
cabang.kode_cabang
2. 3. 4. 5.
Tampilkannama nasabah, saldo, dankota..! Tampilkan id-nasabah dan nomor-rekening yang cabangnya berada di Surabaya.. ! Tampilkan tampilkan nama nasabahyang saldonya di atas 5.000.000 dan berada di cabane
Jakarta Pusat..
!
Tampilkan nama nasabah yang tinggal di Jl. Gurame atau yang cabangnya di kota Depok..
1.
2. 345.
Tampilkan nama mahasiswa dan nama matakuliah yang nilai midnya antara 70 sampai g0.. SELECT mahasiswa.nama, matakuliah.nama mk FROM mahasiswa, matakuliah WHERE mid BETWEEN 70 AND 80; Tampilkan nama mahasiswa yang mengambil mata kuliah komunikasi data..! Tampilkan nama mahasiswa, nilai final, dan nar''amatakuliahnya..! Tampilkan nama mahasiswa yang nilainya kurang dari 80 dan mengambil mata kuliah
Algoritma..!
Tampilkan kelas yang nilai finalnya di atas g0 atau yang jumlah sksnya 3.. !
*rt *
47
lir'l
':t.i,l.
l
I
RELASI
JolNadalahpenggabungandatayangberasaldaribeberapatabel.operatoryangbiasa join ataru equiioin' dengan (:), maka sering disebut dengan equality
Equijoindikelompokkankedalamduabagianyaituinnerequijoin(innerjoin)danouter equijoin(outerjoin).YangtermasukdalamouterJoinadalahLeftJoindanRightJoin.
adalah perkalian cartesian Bentuk penggabungan data yang terakhir yang akan dibahas join' join atau full (Carlesian product) atau disebut juga dengan cross
1.
JOIN / INNERJOIN tabel paling tidak satu barts' Akan menghasilkan baris-baris yang cocok antar kedua Sintaks : SELECT column-name(s) FROM table-namel INNER JOIN table-name2 ON table name 1 .column-name
table-name2'column-name
2.
LEFT JOIN
kiri (tabel 1), walaupun tidak ada yang Akan menampilkan selumh baris dari tabel di sebelah cocok dengan tabel di sebelah kanan (tabel 2)'
Sintaks
:
SELECT column-name(s) FROM table-namel LEFT JOIN table-name2 ON table name I .column-name
table-name2'column-name
3. RIGHT
(tabel2), walaupun tidak ada Akan menampilkan selurrrh baris dari tabel di sebelah kanan yang cocok dengan tabel di sebelah kiri (tabel 1)' Sinlaks:
SELECT column-name(s)
JOIN
table-name2'column-name
49
4.
SELECT column-name(s)
FROM table-name1
table
-name2'column-name
Contoh:
Buat database penjualan..
Pelanggan
!
Order
j-*"---:
..'l
i--i
t-.--
i"--
;---l
1.
JOIN/INNER JOIN
nama' Menampilkan nama dan nomor order yang diurutkan berdasarkan
Hasilnya:
Hani
Hani
':
22456
Z+S1Z
7X895 44678
RET ASI
LEFT JOIN
Menampilkan nama dan nomor order yang di urutkan berdasarkan nama
Hasilnya:
:
,
i-----
Nama --j.i
Hani
-'t- - - -"-
Noorder
-----
Z+SAZ
77895
++en 44678
- .-.-
Null --..-**
--*.-.-*..-.J
Sintaks
Hasilnya:
Pipit Pipit
i
_
IISSS
44678
_3,4764
Nqtl, i
5t
4.
Sintaks
Order'P-Id
Nama
Hanr
OrderNo
22456 24562
Hani Piptt
1189s
44678
Pipit
Stefan
Null
34'764
Null
Contoh:
1g
.t
FROM Pelanggan
CROSS JOIN Order;
t!
Hasilnya
,i
nama
i1
no order
'/'7895 44618 22456 24562 34164 77895 44678 22456 24562
341 64
i!
i{
t$ 1t
Han
Steian Stefan
Ste
n
l$
tg
il
tl
t;
rl
Stefan Stefan
ll ll ll
ll
tl
24s62
5+ /O+
52
il
I
Buat database animal.. ! Buat tabel-tabel berikut dan cari hasil dari JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN..!
Animal
id
.......... .: ......
I 2 3
animal .
, .......
id
I
2
J
rFood
Cat
tDog
tMilk
Bone
Grass
Cow
:f*{<
53
UNION,
)
LINION
FROM:table- el
l'
Sintaks
INTERSECT
EXCEPT
cabang
pid
I
2
J
A
nama Hani
Pipit
Pipit B
Stefan
cabang_b
pid
I
2 3
p nama
Lona
Marni
Pipit B
Jon
55
Contoh:
1.
IINION
SELECT p-nama FROM cabang-b;
Hasilnya:
nama Hani
Jon
Lona
Marni Pipit A
Pbit B
Stefan
2.
ALL
Hasilnya:
1!
,il
D nama
Hani
Pipit A Pipit B
Stefan
Lona
Marni Pipit B
Jon
3.
SELECT
p nama FROM
cabang-a
INTERSECT
SELECT p-nama FROM cabang-b;
56
EXCEPT
SELECT p_nama FROM cabang_b;
ExcEpr, INTERSECT..T
Angkal
I
Angka2
J
2
a J
4
5
4
5
6 7
57