Anda di halaman 1dari 39

MAN 2 Kota Makassar

MODUL

Disusun Oleh:
Dewi Rahmah, S.Pd
Guru Mata Pelajaran
Daftar Isi

A. Pendahuluan. ........................................................................................................................ 1

1. Apa itu database ? .............................................................................................................. 1

2. Apa Itu SQL ?........................................................................................................................ 1

3. Apa itu MySQL ? .................................................................................................................. 2

B. Mulai Menggunakan MySQL.............................................................................................. 2

1. Menginstall MySQL database server. .............................................................................. 2

2. Login ke MySQL Terminal/Command Prompt. .............................................................. 9

3. SQL Syntax. .......................................................................................................................... 9

4. Menampilkan daftar database. ...................................................................................... 10

C. Data Definition Language (DDL)..................................................................................... 10

1. Create. ................................................................................................................................ 10

2. Alter. ................................................................................................................................... 13

3. Drop. ................................................................................................................................... 16

4. Constraint .......................................................................................................................... 17

D. Data Manipulation Language (DML). ............................................................................ 19

1. Insert................................................................................................................................... 19

2. Select. ................................................................................................................................. 21

3. Where. ................................................................................................................................ 22

4. Order By. ............................................................................................................................ 25

5. Alias..................................................................................................................................... 26

6. Fungsi Kolom ..................................................................................................................... 28

7. Delete. ................................................................................................................................ 30

8. Update. ............................................................................................................................... 30

9. Union .................................................................................................................................. 31

10. Join ...................................................................................................................................... 32


KeDai Computerworks
A. Pendahuluan.
1. Apa itu database ?

Mungkin tanpa kalian sadari kamu selalu berurusan dengan database, misalnya :
• Saat kamu mengambil gambar dan mengunggahnya ke akun jejaring sosial seperti
Facebook atau Instagram, maka kamu telah berurusan dengan database dimana
data foto yang telah diunggah disimpan ke dalam database.
• Saat kamu menelusuri situs web e-commerce seperti bukalapak untuk membeli
laptop, sepatu, pakaian, dll. Maka kamu telah berurusan dengan database.

Database ada dimana-mana. Jadi apa itu database?

Menurut definisi database adalah kumpulan data yang saling berhubungan


dan disimpan secara bersamaan sedemikian rupa dan tanpa redudansi
(pengulangan) yang tidak perlu.

Data berhubungan satu sama lain, misalnya Provinsi terdiri dari beberapa
kabupaten/kota yang berelasi. Oleh karena itu kita menggunakan istilah relational
database.

Dalam relational database, kita memodelkan data seperti Provinsi, Kabupaten, dll,
menggunakan tabel. Sebuah tabel berisi kolom dan baris seperti pada spreadsheet
(contohnya tabel pada Microsoft Excel).

Tabel dapat dihubungkan ke tabel lain menggunakan relasi, misalnya, Hubungan


satu ke satu dan satu ke banyak relasi.

Karena kita berurusan dengan dengan sejumlah besar data, kita memerlukan cara
untuk mendefinisikan database, tabel, dan lain-lain, dan mengolah data dengan lebih
efisien. Selain itu, kita ingin mengubah data menjadi informasi.

Dan di sinilah SQL berperan…

2. Apa Itu SQL ?

SQL adalah singkatan dari Structured Query Language yaitu bahasa


pemrograman khusus yang didesain untuk memanejemen data pada sistem manajemen
basis data relasional (Relational Database Management System, disingkat RDBMS).

SQL terdiri dari 3 bagian yaitu :

a. Data Definition Language (DDL) mencakup pernyataan yang membantumu


menentukan database dan objeknya, misalnya, tables, view, dll.

1
KeDai Computerworks
b. Data Manipulation Language (DML) berisi pernyataan yang memungkinkan kamu
untuk memperbarui (update) dan queri (query) data.
c. Data Control Language (DCL) memungkinkan kamu memberi izin kepada pengguna
untuk mengakses data tertentu dalam database.

3. Apa itu MySQL ?

Nama MySQL berasal dari nama anak perempuan pendiri


MySQL AB ,Ulf Michael Widenius yaitu 'My'. Jadi MySQL adalah
kombinasi dari My dan SQL, MySQL.

Jadi, MySQL adalah sistem manajemen basis data yang


memungkinkan kamu mengelola database relasional. Ini
adalah perangkat lunak open-source yang di dukung
Perusahaan Oracle. Artinya kamu bisa menggunakan
MySQL secara gratis.
Foto : Ulf Michael Widenius

Meskipun MySQL adalah perangkat lunak open-source,


kamu bisa membeli versi lisensi komersial dari Oracle untuk mendapatkan layanan
pendukung premium.

MySQL bisa berjalan di berbagai platform UNIX, Linux, Windows, dll. Kamu bisa
menginstalnya di server atau bahkan di desktop.

Cara resmi untuk mengucapkan MySQL adalah “My Ess Que Ell”, bukan “My Sequel”.

B. Mulai Menggunakan MySQL.


1. Menginstall MySQL database server.

I. Cara 1 : Download file Mysql di https://dev.mysql.com/downloads/mysql/ lalu


install sesuai prosedur.
II. Cara 2 (Disarankan) :
a. Download file local web server Bitnami WAMP (untuk pengguna Windows) :
https://bitnami.com/stack/wamp/installer
Download file local web server Bitnami LAMP (untuk pengguna Linux) :
https://bitnami.com/stack/lamp/installer

2
KeDai Computerworks
b. Buka file WAMP/LAMP.

c. Klik Next untuk ke tahap berikut.

d. Hilangkan tanda centang pada checkbox komponen framework, lalu klik Next

3
KeDai Computerworks
e. Pilih folder untuk menginstall WAMP, lalu klik next.

f. Input password untuk akun root, lalu klik next.

Password default untuk pembelajaran extract 2018 adalah 123456

User : root
Password : 123456

4
KeDai Computerworks
g. Selanjutnya hilangkan tanda centang pada Wampstack/Lampstack Cloud, lalu
klik next.

h. Klik next untuk proses menginstall.

5
KeDai Computerworks
i. Setelah proses menginstall selesai, maka akan muncul Bitnami WAMP Stack
Manager, klik tab Manage Server untuk mengatur atau melihat status server.

Pastikan layanan MySQL Database berstatus Running.

Tahap selanjutnya adalah menambahan Environment Variable agar MySQL


dapat dijalankan pada Terminal/Command Prompt.

6
KeDai Computerworks
j. Buka System Properties lalu klik Environment Variables.

Jika kamu belum tahu cara membuka System Properties silahkan kunjungi :
https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-
command-line-access/

k. Klik Variable Path lalu klik tombol Edit.

7
KeDai Computerworks
l. Klik tombol New.

m. Tambahkan lokasi folder mysql pada bitnami WAMP/MAMP terinstall.

Path default : C:\Bitnami\wampstack-7.1.14-0\mysql\bin


Proses Penginstallan Selesai.

8
KeDai Computerworks
2. Login ke MySQL Terminal/Command Prompt.

Buka Terminal/Command Prompt kamu lalu ketikkan :

C:\> mysql -u root -p

Penjelasan :

• mysql adalah perintah untuk menjalankan MySQL.


• Parameter -u adalah perintah untuk memilih user yang akan login.
• root adalah nama user yang dipilih untuk login.
• Parameter -p adalah perintah untuk menampilkan inputan password.

Tekan Enter lalu ketikkan password yang telah kamu buat pada proses menginstall,
misalnya 123456

3. SQL Syntax.

a. Spasi yang tidak signifikan umumnya diabaikan dalam pernyataan SQL dan query,
sehingga lebih mudah untuk memformat kode SQL agar mudah dibaca.
b. SQL tidak bersifat case sensitive, perintah SELECT sama dengan select.
c. Pernyataan SQL juga menyertakan titik koma ( ; ), sebagai tanda untuk mengakhiri
sebuah pernyataan (statement).

9
KeDai Computerworks
4. Menampilkan daftar database.

Untuk menampilkan daftar database, ketikkan perintah berikut :

mysql> show databases;

C. Data Definition Language (DDL).


1. Create.

a. Membuat database.
Sintaksis :
mysql> CREATE DATABASE nama_database;

Untuk membuat database extract, ketikkan perintah berikut :


mysql> CREATE DATABASE extract;

10
KeDai Computerworks
b. Memilih database.
Pertama, lihatlah daftar database menggunakan perintah show databases;

Kedua, pilihlah database yang akan digunakan.


Sintaksis :
mysql> USE nama_database;

Untuk memilih database extract, ketikkan perintah berikut :


mysql> USE extract;

c. Tipe data MySQL.


Sebelum membuat tabel pada database, ada beberapa tipe data dasar yang kamu
perlu ketahui pada MySQL yaitu :
Tipe Data Deskripsi
CHAR Karakter string yang panjangnya tetap
VARCHAR Karakter string yang panjangnya sesuai banyak variabel
INT / INTEGER Bilangan bulat
FLOAT Bilangan pecahan
DOUBLE Bilangan pecahan dengan ketelitian angka yang tinggi.
DATE Tanggal pada kalender
TIME Waktu pada jam
TIMESTAMP Tanggal dan waktu.

11
KeDai Computerworks
d. Membuat tabel.
Sintaksis :
mysql> CREATE TABLE nama_database
-> (
-> nama_kolom1 tipe_data(ukuran) [tipe_constraint],
-> nama_kolom1 tipe_data(ukuran) [tipe_constraint],
...
-> );

Bisa juga ditulis satu baris seperti ini :


mysql> CREATE TABLE nama_database (nama_kolom1 tipe_data(ukuran)
[tipe_constraint], nama_kolom1 tipe_data(ukuran) [tipe_constraint],
...);

Untuk membuat tabel konsentrasi, ketikkan perintah berikut :


mysql> CREATE TABLE konsentrasi
-> (
-> id INT(3) NOT NULL PRIMARY KEY,
-> nama VARCHAR(20) NOT NULL,
-> jml_peserta INT(3) NOT NULL
-> );

Untuk melihat deskripsi dari suatu tabel, gunakan perintah berikut :

Sintaksis :
mysql> DESC nama_tabel;

Untuk melihat deskripsi tabel konsentrasi, ketikkan perintah berikut :


mysql> DESC konsentrasi;

12
KeDai Computerworks

2. Alter.

a. Menambah kolom pada tabel.


Sintaksis :
mysql> ALTER TABLE nama_tabel
-> ADD nama_kolom tipe_data(ukuran) [tipe_constraint];

Untuk menambahkan kolom konsentrasi, ketikkan perintah berikut :


mysql> ALTER TABLE konsentrasi
-> ADD koordinator VARCHAR(30) NOT NULL;

Untuk melihat deskripsi tabel konsentrasi, ketikkan perintah berikut :


mysql> DESC konsentrasi;

Deskripsi tabel konsentrasi setelah kolom koordinator ditambahkan.

13
KeDai Computerworks
b. Menghapus kolom dari tabel
Sintaksis :
mysql> ALTER TABLE nama_tabel
-> DROP nama_kolom;

Untuk menghapus kolom koordinator, ketikkan perintah berikut :


mysql> ALTER TABLE konsentrasi
-> DROP koordinator;

Deskripsi tabel konsentrasi setelah kolom koordinator dihapus.

c. Menghapus atau menambahkan Primary Key.


• Menghapus Primary Key.

Sintaksis :

mysql> ALTER TABLE nama_tabel


-> DROP PRIMARY KEY;

Untuk menghapus Primary Key pada tabel konsentrasi, ketikkan perintah


berikut :

mysql> ALTER TABLE konsentrasi


-> DROP PRIMARY KEY;

14
KeDai Computerworks

Deskripsi tabel konsentrasi setelah Primary Key dihapus, perhatikan field id,
pada kolom Key tidak terdapat nilai PRI sebagai tanda bahwa field id adalah
Primary Key.

• Menambahkan Primary Key

Sintaksis :

mysql> ALTER TABLE nama_tabel


-> ADD PRIMARY KEY (nama_kolom);

Untuk menambahkan Primary Key pada tabel konsentrasi, ketikkan perintah


berikut :

mysql> ALTER TABLE konsentrasi


-> ADD PRIMARY KEY (id);

15
KeDai Computerworks
Deskripsi tabel konsentrasi setelah Primary Key ditambahkan, perhatikan field
id, pada kolom Key terdapat nilai PRI sebagai tanda bahwa field id adalah Primary
Key.

3. Drop.

a. Menghapus database.
• Drop database akan menghapus database dan semua komponen yang ada di
dalamnya.
• Untuk menghapus database, kamu harus mempunyai hak akses sebagai admin,
secara default user root mempunyai hak akses sebagai admin.
• Untuk memastikan jika database telah terhapus kamu bisa menjalankan perintah
SHOW DATABASES; .

Sintaksis :

mysql> DROP DATABASE nama_database;

Untuk menghapus database extract, ketikkan perintah berikut :

mysql> DROP DATABASE extract;

16
KeDai Computerworks
b. Menghapus Tabel.
• Semua data yang ada dalam tabel juga akan terhapus.
• Tabel termasuk datanya tidak bisa dikembalikan ketika operasi penghapusan
telah dilakukan.

Sintaksis :

mysql> DROP TABLE nama_tabel;

Untuk menghapus tabel konsentrasi, ketikkan perintah berikut :

mysql> DROP TABLE konsentrasi;

4. Constraint

Untuk menjaga konsistensi dan kebenaran data yang tersimpan, RDBMS


memberlakukan satu atau lebih batasan integristas data. Kendala (Constraint) ini
membatasi nilai data yang dimasukan atau diubah ke dalam database. Beberapa jenis
Constraint adalah :

• NOT NULL
Menandakan bahwa kolom tidak dapat menyimpan nilai null (kosong).

Contoh penggunaan NOT NULL adalah :


mysql> ALTER TABLE konsentrasi
-> ADD koordinator VARCHAR(30) NOT NULL;

• PRIMARY KEY
Kunci utama memiliki nilai unik yang berbeda untuk setiap baris dalam sebuah tabel,
jadi tidak ada dua buah baris tabel Primary Key yang pesis sama.

Contoh penggunaan PRIMARY KEY adalah :


mysql> ALTER TABLE konsentrasi
-> ADD PRIMARY KEY (id);

17
KeDai Computerworks
• FOREIGN KEY
Menangani referensi data dalam satu tabel agar sesuai dengan nilai pada tabel lain.

Bersama-sama, Primary Key dan Foreign Key menciptakan hubungan seperti orang
tua/anak.

Sebuah tabel dapat berisi lebih dari satu Foreign Key jika berhubungan dengan lebih
dari satu tabel lainnya.

Membuat Foreign key :


• Menambahkan Foreign key menggunakan pernyataan Create Table.
Buatlah satu tabel, yaitu tabel peserta dengan deskripsi sebagai berikut :

Sintaksis :

mysql> CREATE TABLE nama_tabel


-> (
-> nama_kolom1 tipe_data(ukuran) [tipe_constraint],
-> nama_kolom2 tipe_data(ukuran) [tipe_constraint],
-> nama_kolom3 tipe_data(ukuran) [tipe_constraint],
-> ...
-> FOREIGN KEY (nama_kolom_foreign_key) REFERENCES
konsentrasi(nama_kolom_primary_key)
-> );

Untuk membuat tabel peserta yang berelasi dengan tabel konsentrasi ketikkan
perintah berikut :

mysql> CREATE TABLE peserta


-> (
-> noreg INT(3) NOT NULL PRIMARY KEY,
-> nama VARCHAR(30) NOT NULL,
-> jkel CHAR(2) NOT NULL,
-> idkonsentrasi INT(3),
-> FOREIGN KEY (idkonsentrasi) REFERENCES konsentrasi(id)
-> );

18
KeDai Computerworks

Deskripsi tabel peserta.

D. Data Manipulation Language (DML).


1. Insert.
• Pernyataan INSERT INTO digunakan untuk memasukkan data pada tabel.
• Operasi INSERT bisa hanya satu baris atau multi baris.

mysql> INSERT INTO nama_tabel


-> VALUES (nilai1,nilai2,nilai3, ...);

Atau

mysql> INSERT INTO nama_tabel (kolom1,kolom,kolom3, ...);


-> VALUES (nilai1,nilai2,nilai3, ...);

19
KeDai Computerworks
Untuk menginput data pada tabel konsentrasi, ketikkan perintah berikut :

mysql> INSERT INTO konsentrasi


-> VALUES (1,"Program",50);

Atau menginput data multi baris pada tabel konsentrasi, ketikkan perintah berikut :

mysql> INSERT INTO konsentrasi


-> VALUES (1,"Program",50),
-> (2,"Multimedia",10),
-> (3,"Jaringan",60),
-> (4,"Linux",5),
-> (5,"Hardware",4);

Selanjutnya, input data pada tabel peserta.

Pada kolom keempat pada tabel peserta (kolom idkonsentrasi) nilainya harus sama
dengan nilai data pada tabel konsentrasi kolom pertama (kolom id).

20
KeDai Computerworks
2. Select.

Pernyataan SELECT mengambil data dari database dan mengembalikan nilainya dalam
bentuk query.

• Select semua kolom.


Untuk menampilkan semua kolom pada tabel, gunakan tanda bintang (*).

Sintaksis :
mysql> SELECT * FROM nama_tabel;

Untuk menghapus tabel konsentrasi, ketikkan perintah berikut :

mysql> SELECT * FROM peserta;

• Select Distinct.
Untuk menampilkan data pada suatu kolom dan menghilangkan baris yang
berduplikat.

Sintaksis :
mysql> SELECT DISTINCT(nama_kolom) FROM nama_tabel;

Untuk menampilkan kolom distinct tabel peserta, ketikkan perintah berikut :

mysql> SELECT DISTINCT(idkonsentrasi) FROM peserta;

21
KeDai Computerworks

3. Where.

Klausa WHERE terdiri dari kata kunci WHERE diikuti oleh kondisi pencarian yang
menentukan baris yang akan diambil.

• Comparison Test (=, <>, <, <=, >, >=).

Sintaksis :
mysql> SELECT nama_kolom
-> FROM nama_tabel;
-> WHERE nama_kolom [ekspresi(=,>, ...)] nilai;

Untuk menampilkan kolom noreg,nama pada tabel peserta dimana noreg = 101,
ketikkan perintah berikut :

mysql> SELECT noreg,nama


-> FROM peserta
-> WHERE noreg = 101;

22
KeDai Computerworks
• Set Membership Test (IN).
Ini menguji apakah nilai data cocok dengan salah satu daftar nilai target.

Sintaksis :
mysql> SELECT nama_kolom FROM nama_tabel
-> WHERE nama_kolom IN(nilai1,nilai2,...);

Untuk menampilkan kolom pada tabel peserta dimana datanya berada di nilai 3 dan
5, ketikkan perintah berikut :

mysql> SELECT * FROM peserta


-> WHERE idkonsentrasi IN(3,5);

• Range Test (BETWEEN).

Menguji apakah nilai data ada di antara dua nilai yang ditentukan.

Sintaksis :
mysql> SELECT nama_kolom
-> FROM nama_tabel
-> WHERE nama_kolom BETWEEN nilai1 AND nilai2;

Untuk menampilkan kolom noreg,nama tabel peserta dimana jangkauannya


antara 100 sampai 104, ketikkan perintah berikut :

mysql> SELECT noreg,nama


-> FROM peserta
-> WHERE noreg BETWEEN 101 AND 104;

23
KeDai Computerworks

• Pattern Mathing Test (LIKE).


Untuk menggunakan tes perbandingan sederhana, mengambil baris dimana isi teks
pada kolom cocok dengan beberapa teks tertentu.

Karakter wilcard :
a. Tanda persen ( % ) mencocokkan beberapa karakter.
b. Tanda underscore ( _ ) mencocokkan satu karakter.

Sintaksis :
mysql> SELECT nama_kolom
-> FROM nama_tabel
-> WHERE nama_kolom LIKE "%nilai%";

Untuk menampilkan kolom nama pada tabel peserta, dimana kolom nama
mengandung kata Nur pada kata yang dicari, ketikkan perintah berikut :

mysql> SELECT nama


-> FROM peserta
-> WHERE nama LIKE "%Nur%";

24
KeDai Computerworks

Sintaksis :
mysql> SELECT nama_kolom
-> FROM nama_tabel
-> WHERE nama_kolom LIKE "nilai_";

Untuk menampilkan kolom nama pada tabel peserta, dimana kolom nama
mengandung kata Nur pada kata yang dicari, ketikkan perintah berikut :

mysql> SELECT nama


-> FROM peserta
-> WHERE nama LIKE "Aj_";

4. Order By.

Kamu dapat meminta SQL untuk mengurutkan hasil query dengan memasukkan klausa
ORDER BY dalam pernyataan SELECT. ORDER BY mengurutkan kata kunci dalam urutan
menaik secara default.

25
KeDai Computerworks
Sintaksis :
mysql> SELECT nama_kolom
-> FROM nama_tabel
-> ORDER BY nama_kolom [ASC atau DESC];

Untuk menampilkan kolom nama,jkel pada tabel peserta dan diurutkan secara menaik,
ketikkan perintah berikut :

mysql> SELECT nama, jkel


-> FROM peserta
-> ORDER BY nama ASC;

5. Alias.

Kamu bisa memberi tabel atau kolom nama lain dengan menggunakan Alias. Ini sangat
berguna jika tabel atau nama kolom yang sangat panjang atau kompleks.

Sintaksis :

Alias untuk Tabel :

mysql> SELECT nama_kolom FROM nama_tabel AS nama_alias;

26
KeDai Computerworks
Alias untuk Kolom :

mysql> SELECT nama_kolom AS nama_alias FROM nama_tabel;

Untuk memberi nama tabel peserta dengan nama alias psrt, ketikkan perintah berikut :

mysql> SELECT * FROM peserta AS psrt;

Untuk memberi nama kolom nama pada tabel konsentrasi dengan nama alias
nama_konsentrasi, ketikkan perintah berikut :

mysql> SELECT nama AS nama_konsentrasi FROM konsentrasi;

27
KeDai Computerworks
6. Fungsi Kolom

Fungsi kolom SQL mengambil keseluruhan data kolom sebagai argumennya dan
menghasilkan satu item data yang merangkum seluruh kolom.

• Fungsi SUM().
Menghitung keseluruhan total pada kolom.

Sintaksis :
mysql> SELECT SUM(nama_kolom) FROM nama_tabel;

Untuk menghitung total pada jml_peserta di tabel konsentrasi , ketikkan perintah


berikut :
mysql> SELECT SUM(jml_peserta) FROM konsentrasi;

• Fungsi AVG().
Menghitung rata-rata keseluruhan pada kolom.

Sintaksis :
mysql> SELECT AVG(nama_kolom) FROM nama_tabel;

Untuk menghitung rata-rata pada jml_peserta di tabel konsentrasi, ketikkan


perintah berikut :

mysql> SELECT AVG(jml_peserta) FROM konsentrasi;

28
KeDai Computerworks
• Fungsi MIN() dan MAX().
Mencari nilai terkecil (MIN) dan terbesar (MAX) pada kolom.

Sintaksis MIN() :
mysql> SELECT MIN(nama_kolom) FROM nama_tabel;

Untuk mencari nilai terkecil pada jml_peserta di tabel konsentrasi, ketikkan


perintah berikut :

mysql> SELECT MIN(jml_peserta) FROM konsentrasi;

Sintaksis MAX():
mysql> SELECT AVG(nama_kolom) FROM nama_tabel;

Untuk mencari nilai terbesar pada jml_peserta di tabel konsentrasi, ketikkan


perintah berikut :

mysql> SELECT AVG(jml_peserta) FROM konsentrasi;

29
KeDai Computerworks
• Fungsi COUNT().
Fungsi COUNT() mengembalikan jumlah nilai dari kolom yang ditentukan. Nilai NULL
tidak akan dihitung.

7. Delete.

Pernyataan DELETE digunakan untuk menghapus baris dalam tabel.

Sintaksis :
mysql> DELETE FROM nama_tabel
-> WHERE nama_kolom = nilai;

Untuk menghapus baris peserta dengan noreg 108 pada tabel peserta, ketikkan
perintah berikut :

mysql> DELETE FROM peserta


-> WHERE noreg = 108;

8. Update.

Perintah UPDATE digunakan untuk mengubah data yang sudah ada pada tabel.

Sintaksis :
mysql> UPDATE nama_tabel
-> SET nama_kolom = nilai;
-> WHERE nama_kolom = nilai;

30
KeDai Computerworks
Untuk mengubah baris peserta dengan nama “Kanuddin” di mana noreg = 107 pada
tabel peserta, ketikkan perintah berikut :

mysql> UPDATE peserta


-> SET nama = “Kanuddin”;
-> WHERE noreg = 107;

9. Union

Operator UNION digunakan untuk menggabungkan hasil-set dari dua atau lebih
pernyataan SELECT.

Perhatikan bahwa setiap penyataan SELECT dan UNION harus memiliki jumlah kolom
yang sama

Kolom juga harus memiliki tipe data yang sama.

Selain itu, kolom di setiap pernyataan SELECT harus berada dalam urutan yang sama.

Sintaksis :
mysql> SELECT nama_kolom FROM nama_tabel1
-> UNION
-> SELECT nama_kolom FROM nama_tabel2;

Untuk menghapus baris peserta dengan noreg 108 pada tabel peserta, ketikkan
perintah berikut :

mysql> SELECT nama FROM peserta


-> UNION
-> SELECT nama FROM konsentrasi;

31
KeDai Computerworks

10. Join

Kata kunci JOIN digunakan dalam sebuah pernyataan SQL untuk query data dari dua atau
lebih tabel, berdasarkan hubungan antara kolom tertentu.

Tabel dalam database seringkali saling terkait dengan relasi Induk/anak (Primary/Foreign
Key).

Proses pembentukan pasangan baris dengan mencocokan isi kolom terkait disebut
menggabungkan tabel.

• Inner Join.

Mengembalikan baris ketika ada setidaknya satu nilai yang cocok pada kedua tabel.

Tabel1 Tabel2

32
KeDai Computerworks
Sintaksis :
mysql> SELECT nama_tabel1.kolom_tabel1, nama_tabel2.kolom_tabel2
-> FROM tabel1
-> INNER JOIN tabel2;
-> ON JOIN nama_tabel1.kolom_tabel1_PrimaryKey =
nama_tabel2.kolom_tabel2_PrimaryKey;

Untuk menggabungkan tabel peserta dan tabel konsentrasi dengan cara inner
join, ketikkan perintah berikut :

mysql> SELECT peserta.noreg, peserta.nama AS nama_peserta,


konsentrasi.nama AS nama_konsentrasi
-> FROM peserta
-> INNER JOIN konsentrasi;
-> ON peserta peserta.idkonsentrasi = konsentrasi.id;

• Right Join

Tabel1 Tabel2

33
KeDai Computerworks
Mengembalikan semua baris dari tabel kanan (Tabel2), meski tidak ada yang cocok
di tabel kiri (Tabel1). Jika nilai pada kolom kanan tidak sesuai dengan kolom kiri, maka
nilai null ditampilkan di kolom kiri.

Sintaksis :
mysql> SELECT nama_tabel1.kolom_tabel1, nama_tabel2.kolom_tabel2
-> FROM tabel1
-> RIGHT JOIN tabel2;
-> ON JOIN nama_tabel1.kolom_tabel1_PrimaryKey =
nama_tabel2.kolom_tabel2_PrimaryKey;

Untuk menggabungkan tabel peserta dan tabel konsentrasi dengan cara right
join, ketikkan perintah berikut :

mysql> SELECT peserta.noreg, peserta.nama AS nama_peserta,


konsentrasi.nama AS nama_konsentrasi
-> FROM peserta
-> RIGHT JOIN konsentrasi;
-> ON peserta peserta.idkonsentrasi = konsentrasi.id;

34
KeDai Computerworks
• Left Join

Tabel1 Tabel2

Mengembalikan semua baris dari tabel kiri (Tabel1), meski tidak ada yang cocok di
tabel kanan (Tabel2). Jika nilai pada kolom kiri tidak sesuai dengan kolom kanan,
maka nilai null ditampilkan di kolom kanan.

• Full Outer Join

Tabel1 Tabel2

35
KeDai Computerworks
Mengembalikan semua baris di kedua tabel (Tabel1 dan Tabel2) tanpa
memperhatikan kecocokan apapun. Bila tidak ada kecocokan, sisi yang hilang akan
berisi null.

OUTER JOIN kurang berguna daripada Inner Join, Left Join atau Right Join dan tidak
diimplementasikan di MySQL. Namun, kamu dapat mencobanya menggunakan
UNION dari Left Join dan Right Join.

Sintaksis :
mysql> SELECT nama_tabel1.kolom_tabel1, nama_tabel2.kolom_tabel2
-> FROM tabel1
-> LEFT JOIN tabel2;
-> ON JOIN nama_tabel1.kolom_tabel1_PrimaryKey =
nama_tabel2.kolom_tabel2_PrimaryKey
-> UNION
-> SELECT nama_tabel1.kolom_tabel1, nama_tabel2.kolom_tabel2
-> FROM tabel1
-> RIGHT JOIN tabel2;
-> ON JOIN nama_tabel1.kolom_tabel1_PrimaryKey =
nama_tabel2.kolom_tabel2_PrimaryKey;

Untuk menggabungkan tabel peserta dan tabel konsentrasi dengan cara right
join, ketikkan perintah berikut :

mysql> SELECT peserta.noreg, peserta.nama AS nama_peserta,


konsentrasi.nama AS nama_konsentrasi
-> FROM peserta
-> LEFT JOIN konsentrasi;
-> ON peserta peserta.idkonsentrasi = konsentrasi.id
-> UNION
-> SELECT peserta.noreg, peserta.nama AS nama_peserta,
konsentrasi.nama AS nama_konsentrasi
-> FROM peserta
-> RIGHT JOIN konsentrasi;
-> ON peserta peserta.idkonsentrasi = konsentrasi.id;

36
KeDai Computerworks

37

Anda mungkin juga menyukai