1.1. Tujuan
Mengenal syntax atau perintah DDL (Data Definition Language) menggunakan SQL (Structured
Query Language).
1.3. Praktikum
1) Membuat database bernama world
Sintak dasar:
CREATE DATABASE [nama database];
Praktik:
CREATE DATABASE world;
2) Membuat tabel
a. country
CREATE TABLE country (
Code CHAR(3) NOT NULL DEFAULT '',
Name CHAR(52) NOT NULL DEFAULT '',
Continent ENUM('Asia','Europe','North
America','Africa','Oceania','Antarctica','South America') NOT
NULL DEFAULT 'Asia',
Region CHAR(26) NOT NULL DEFAULT '',
SurfaceArea FLOAT(10,2) NOT NULL DEFAULT '0.00',
IndepYear SMALLINT(6) DEFAULT NULL,
Population INT(11) NOT NULL DEFAULT '0',
LifeExpectancy FLOAT(3,1) DEFAULT NULL,
GNP FLOAT(10,2) DEFAULT NULL,
Hal aman |4
b. Tabel city
CREATE TABLE city (
ID INT(11) NOT NULL AUTO_INCREMENT,
Name CHAR(35) NOT NULL DEFAULT '',
CountryCode CHAR(3) NOT NULL DEFAULT '',
District CHAR(20) NOT NULL DEFAULT '',
Population INT(11) NOT NULL DEFAULT '0',
PRIMARY KEY (ID)
) ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
c. Tabel countrylanguage
CREATE TABLE countrylanguage (
CountryCode char(3) NOT NULL DEFAULT '',
Language char(30) NOT NULL DEFAULT '',
IsOfficial enum('T','F') NOT NULL DEFAULT 'F',
Percentage float(4,1) NOT NULL DEFAULT '0.0',
PRIMARY KEY (CountryCode,Language)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Praktik:
ALTER TABLE country DROP COLUMN Code2;
Praktik:
ALTER TABLE country CHANGE GovernmentForm PoliticalSystem CHAR(45);
Hal aman |5
Praktik:
ALTER TABLE country CHANGE HeadOfState HeadOfState VARCHAR(60);
5) Menambahkan index
Index adalah objek pada MySQL yang berisi data yang terurut dari nilai-nilai pada satu atau
lebih field dalam suatu tabel. Sama seperti daftar isi pada sebuah buku, index terutama
digunakan untuk mempercepat pencarian terhadap suatu set data dengan kondisi tertentu
yang melibatkan kombinasi field yang sudah didefinisikan dalam suatu index. Tanpa index,
pencarian data biasanya akan memakan waktu lama, terutama jika data sudah dalam skala
jumlah yang sangat besar.
Sintak dasar:
ALTER TABLE [nama tabel] ADD INDEX [nama index] ([field yang
diindex]);
Praktik:
ALTER TABLE country ADD INDEX idx_region (Region);
1.4. Tugas
1) Tambahkan field cityCode CHAR(5) pada tabel City dan tempatkan field tersebut setelah
field name.
2) Ubah nama tabel countrylanguage menjadi country_language
Hal aman |6
CATATAN :
Hal aman |7
2.1. Tujuan
Mengenal dan memahami syntax atau perintah DML (Data Manipulation Language)
menggunakan SQL (Structured Query Language).
2.3. Praktikum
1) Memasukkan (insert) 1 baris data ke tabel country
Sintak dasar:
INSERT INTO [nama tabel] ([nama field 1],[nama field 2],[nama field
3],...) VALUES ([nilai 1],[nilai 2],[nilai 3],...);
Praktik:
INSERT INTO country (Code, Name, Region, SurfaceArea, IndepYear,
Population, LifeExpectancy, GNP, GNPOld, LocalName, GovernmentForm,
HeadOfState, Capital) VALUES ('TML', 'Timor Leste', 'South East
Asia', '500000', '2001', '1179100', '42.7', '9462.00', '2346.00',
'Timor', 'Republic', 'Xanana Gusmao', '7962');
Praktik:
INSERT INTO city (Name, CountryCode, District, Population)
VALUES
('Manatuto', 'TML', 'Manatuto', '4753'),
('Bobonaro', 'TML', 'Bobonaro', '90412'),
('Ermera', 'TML', 'Ermera', '109643'),
('Cova Lima', 'TML', 'Cova Lima', '309578'),
Hal aman |8
Dalam sintak INSERT, setiap nilai yang akan dimasukkan diapit tanda petik (). Hal ini wajib
untuk nilai yang bertipe string. Meski nilai yang bertipe data numeric tidak diwajibkan,
sangat dianjurkan untuk mengapit dengan tanda petik semua, mencegah kesalahan ketika
proses insert.
Sintak tersebut akan mengubah semua isi data pada suatu field. Dalam kebutuhan
pemrograman, lebih sering ditambahkan menggunakan klausa WHERE.
Praktik:
UPDATE country SET HeadOfState = 'Susilo Bambang Yudhoyono' WHERE
Code = 'IDN';
Sintak di atas mengubah data pada field HeadOfState dari Abdurahman Wahid menjadi
Susilo Bambang Yudhoyono berdasar berkode IDN.
Praktik:
UPDATE country,city
SET
Code = 'TLS',
CountryCode = 'TLS'
WHERE
Code = CountryCode
AND
Code = 'TML';
Field Code pada country dan CountryCode pada city diset menjadi TLS tetapi hanya field
Code dan Country yang memiliki kesamaan serta field Code yang bernilai TML saja yang
diubah. Hasilnya, kode negara Timor Leste menjadi TLS pada tabel country, begitu juga
kota-kota Timor Leste pada tabel city kode negaranya (CountryCode) menjadi TLS.
Hal aman |9
Sama halnya dengan SELECT dan UPDATE, perintah dasar tersebut juga bisa ditambahkan
WHERE untuk filtering.
Praktik:
DELETE FROM city WHERE CountryCode = 'NGA';
Data kota yang memiliki CountryCode berkode NGA akan terhapus semua.
DELETE cnt,cty
FROM country AS cnt, city AS cty
WHERE cnt.Code = cty.CountryCode
AND cnt.Code = 'TLS'
2.4. Tugas
1) Tulislah query untuk menghapus data dari tabel city dengan kode IDN dimana populasinya
kurang dari 100.
2) Tulislah query untuk menampilkan data negara dari tabel country yang tahun
kemerdekaannya bernilai NULL.
H a l a m a n | 10
CATATAN :
H a l a m a n | 11
3.1. Tujuan
Menggunakan fungsi-fungsi MySQL untuk kebutuhan penghitungan matematika pada database.
3.3. Praktikum
1) Mencari nilai minimum menggunakan MIN()
Sintak dasar:
SELECT MIN([nama field]) FROM [nama tabel];
Praktik:
SELECT MIN(Capital) FROM country;
Selain penggunaan untuk mencari nilai minimum pada field yang bertipe data numeric, juga
bisa digunakan untuk mencari nilai minimum pada field bertipe data string yang
penghitungannya berdasarkan panjangnya dan diurutkan secara alphabetis.
Praktik:
SELECT MAX(Capital) FROM country;
Seperti halnya MIN, MAX merupakan kebalikannya sehingga memiliki sifat yang sama yaitu
juga bisa menentukan suatu nilai maksimum bertipe string.
Praktik:
SELECT SUM(Population) FROM country;
Perintah SUM tersebut menjumlahkan seluruh field Population tabel country atau dengan
kata lain mendapatkan jumlah keseluruhan populasi seluruh dunia.
Praktik:
SELECT COUNT(ID) FROM city;
Sintak di atas adalah untuk menghitung cacah data tabel city berdasar field ID. COUNT juga
bisa menggunakan tanda asterisk atau bintang (*) pada nama field. Bedanya, jika
menggunakan tanda bintang, semua data akan dihitung. Jika menggunakan field secara
spesifik, nilai NULL tidak akan dihitung sebagai cacah data. Bandingkan 2 sintak berikut.
Praktik:
SELECT AVG(SurfaceArea) FROM country;
3.4. Tugas
1) Tulislah query untuk menampilkan nama tiap benua dan nilai luas area rata-rata dari tabel
country.
2) Tulislah query untuk menampilkan nama tiap wilayah, nama benua, dan total luas dari
masing-masing wilayah.
H a l a m a n | 13
CATATAN :
H a l a m a n | 14
4.1. Tujuan
Memahami beberapa cara dalam menampilkan data dengan query.
1) SELECT ALL
Kondisi ini digunakan untuk menampilkan semua record dan semua field dari tabel.
Sintak : SELECT * FROM nama_tabel
2) SELECT FIELD
Kondisi ini digunakan untuk menampilkan semua record tetapi hanya dari field tertentu saja.
Sintak : SELECT field_1, field_2,. . . FROM nama_tabel
4.3. Praktikum
1) Menampilkan data bersyarat menggunakan klausa WHERE
1. Menampilkan negara yang berada pada benua (continent) Asia.
SELECT * FROM country
WHERE Continent = 'asia';
2. Menampilkan negara yang berada pada benua Asia dan berada pada regional (region)
Asia Tenggara.
SELECT * FROM country
WHERE Continent = 'asia' AND Region = 'southeast asia';
Terdapat logika AND pada klausa WHERE. Artinya, kedua persyaratan harus terpenuhi.
Jika hanya salah satu saja, maka tidak ada data yang ditampilkan. Contoh:
SELECT * FROM country
WHERE Continent = 'asia' AND Region = 'caribbean';
Logika OR pada klausa WHERE, akan menampilkan data setidaknya salah satu kondisi
terpenuhi.
4. Menampilkan negara benua Eropa atau region Central America dan bentuk
pemerintahannya (GovernmentForm) Republic
SELECT * FROM country
WHERE
(Continent = 'Europe' OR Region = 'Central America') AND
GovernmentForm = 'Republic';
5. Menampilkan data dengan operator matematika untuk mendapatkan data lebih dari,
kurang dari, sama dengan.
SELECT name, Population FROM City WHERE Population > 1000000;
Query diatas untuk mencari kota yang populasinya lebih dari 1000000. Kebalikannya
adalah kurang dari. Contoh:
SELECT name, Population FROM City WHERE Population < 1000000;
Kemudian, untuk mencari yang nilainya sama dengan, maka menggunakan operator =.
Contoh:
SELECT name, Population FROM City WHERE Population = 95268;
Bisa juga menggunakan 2 field, misal countryCode dan District. Sehingga nanti jika
kombinasi 2 field tersebut ada yang kembar, maka akan ditampilkan sekali saja. Contoh:
SELECT * FROM city GROUP BY CountryCode,District
Apabila hanya menggunakan SUM saja tanpa klausa GROUP BY, maka hasilnya jumlah
keseluruhan semua region. Jika menggunakan GROUP BY region maka penjumlahannya
berdasar field yang di grouping yaitu region sehingga hasilnya jumlah populasi tiap
region.
Query di atas secara otomatis mengurutkan paling kecil atau paling awal dalam
alphabetis, ditempatkan paling atas (Ascending). Sebenarnya klausa ORDER BY tersebut
secara lengkap adalah ORDER BY Name ASC.
4.4. Tugas
1) Tampilkan record dari tabel Country dimana populasinya kurang dari 10000 dan berada di
benua Afrika
2) Tampilkan record benua, wilayah dan total populasi tiap wilayah dari tabel Country dimana
hanya benua Europe atau Oceania yang ditampilkan, kemudian urutkan hasilnya
berdasarkan benua dan total populasi terbanyak.
H a l a m a n | 17
CATATAN :
H a l a m a n | 18
BAB V. SUBQUERY
5.1. Tujuan
Memahami pemakaian subquery untuk menampilkan data.
5.2.1. Subquery
Subquery adalah query di dalam query atau sebuah query SELECT berada di dalam perintah
SELECT yang lain. Subquery terdiri dari 2 bagian yaitu outer query dan inner query. Outer query
adalah query terluar atau query utama sedangkan inner query adalah query inti atau bisa disebut
subquery.
5.3. Praktikum
1) Subquery pada 1 tabel
SELECT * FROM country
WHERE Population < (SELECT AVG(Population) FROM country);
Query di atas untuk mencari negara yang populasinya dibawah rata-rata jumlah populasi
dunia. Mencari rata-rata populasi dunia menggunakan SELECT AVG(Population) FROM
country yang mana merupakan inner query. Kemudian outer querySELECT * FROM
country WHERE Population < ... akan menampilkan data negara yang jumlah
populasinya kurang dari nilai yang dihasilkan dari inner query tadi.
Query di atas untuk mencari kota yang populasinya lebih besar dari rata-rata luas
permukaan daratan di seluruh negara.
Inner query dan outer query menggunakan 2 tabel yang berbeda. Inner querySELECT
AVG(surfaceArea) FROM country mencari rata-rata luas permukaan daratan
(surfaceArea) pada tabel country. Sedangkan outer query menampilkan data kota selama
jumlah populasinya lebih dari nilai inner query.
c) Subquery bersyarat
SELECT * FROM city
WHERE
CountryCode IN
(SELECT code FROM country WHERE GovernmentForm = 'Republic')
AND
countryCode IN
(SELECT CountryCode FROM countrylanguage WHERE Language =
'English');
Query di atas untuk menampilkan kota yang bentuk pemerintahan negaranya Republic dan
bahasanya English. Di sini melibatkan 3 tabel sekaligus, 1 tabel pada outer query, 2 tabel
lainnya sebagai inner query. Pada inner query terdapat syarat atau filter klausa where.
Alur eksekusi dari subquery adalah inner query dieksekusi oleh server terlebih dahulu,
setelah memberi nilai kembalian, selanjutnya outer query dieksekusi dan hasil yang
ditampilkan bergantung dari hasil dari inner query tadi. Ilustrasi alur eksekusi query di atas
bisa dilihat pada gambar.
H a l a m a n | 20
5.4. Tugas
1) Tampilkan record benua, wilayah dan total populasi tiap wilayah dari tabel Country dimana
total lebih besar sama dengan 300000000, kemudian urutkan hasilnya berdasarkan benua
dan total populasi terbanyak.
H a l a m a n | 21
CATATAN
H a l a m a n | 22
6.1. Tujuan
Memahami konsep dan praktik Inner Join.
Jika dilihat dari diagram venn ilustrasi di atas, bisa dikatakan bahwa ketika 2 tabel dilakukan
INNER JOIN, maka hanya data yang beririsan (area hijau) saja yang akan ditampilkan. Sedangkan
yang tidak beririsan (berwarna putih) tidak akan ditampilkan. Apabila tidak ada yang beririsan,
maka tidak akan ada data yang ditampilkan.
Field penghubung biasanya berupa kunci primer (primary key) dengan kunci tamu (foreign key).
Misal, field Code dengan CountryCode, masing-masing tabel Country dan City.
Sintak :
SELECT column_name(s)
FROM table1 INNER JOIN table2
ON table1.column_name=table2.column_name;
atau:
SELECT column_name(s)
FROM table1 JOIN table2
ON table1.column_name=table2.column_name;
6.3. Praktikum
1) Inner Join 2 tabel
SELECT
Code, Name, Continent, Region, CountryCode, Language
FROM country
INNER JOIN countrylanguage ON CODE = CountryCode;
Jumlah data yang tampil sebanyak jumlah data pada tabel countryLanguage. Perhatikan
gambar berikut:
Jika dilihat dari hasil query di atas, maka negara ABW (Aruba) akan tampil 4 kali, begitu juga
AFG tampil 5 kali meski dilihat dari Tabel Country, ABW dan AFG masing-masing hanya 1.
Ketika dilakukan inner join dengan tabel countryLanguage, maka data pada tabel Country
akan terus digabungkan dan ditampilkan dengan data countryLanguage selama data pada
field penghubung nilainya sama. Dengan kata lain, code ABW mengecek countryCode dari
baris pertama, ketika pengecekan baris kelima, sudah tidak sama dengan code ABW lagi,
melainkan menjadi Code AFG maka yang ditampilkan selanjutnya code AFG.
Hal itu juga akan sama ketika tabel country inner join dengan city.
Inner Join juga bisa ditambakan filtering untuk memilih data hasil join dengan syarat
tertentu. Sama seperti query yang dipelajari sebelumnya tentang where.
Jika dilihat pada tabel countrylanguage, negara yang menggunakan bahasa English maka
akan tampil sebagai berikut:
Gambar di atas hanya sebagian data saja. Data sesungguhnya ada 60 baris. Maka, ketika
query diatas tadi dijalankan, dia hanya akan menggabungkan dan menampilkan negara-
negara yang sesuai pada gambar tersebut atau hanya 60 negara saja.
Dengan adanya klausa Group By pada field continent, maka data yang ditampilan hanya
sejumlah jenis continent saja.
H a l a m a n | 25
Pada gambar di atas adalah ketika tanpa ditambahkan Group By. Tanda biru (vertikal) adalah
field Continent yang dijadikan field Grouping. Sedangkan tanda merah (horizontal) adalah
baris-baris yang akan ditampilkan ketika query di atas tadi dijalankan. Jika dilihat dari
gambar itu, baris yang terpilih untuk ditampilkan adalah baris yang muncul pertama kali dari
atas bedasar nama benua (continent)
6.4. Tugas
1) Tampilkan nama Negara dan jumlah kota dari masing-masing Negara dengan syarat Negara
tersebut mempunyai kota minimal 1, kemudian urutkan berdasarkan jumlah kota terbanyak.
H a l a m a n | 26
CATATAN
H a l a m a n | 27
7.1. Tujuan
Memahami konsep dan praktik Left dan Right Join.
Left Join akan menampilkan semua data pada tabel berada pada sisi kiri atau tabel pertama,
dengan menyamakan baris pada tabel sisi kanan atau tabel kedua. Jika baris pada tabel sisi
kanan tidak sama, maka baris itu bernilai NULL. Berikut ilutstrasinya
Sintaks:
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
Right Join adalah kebalikan dari Left Join yaitu data pada tabel sisi kanan atau tabel kedua akan
ditampilkan terlebih dahulu kemudian diiringi tabel pertama dengan menyamakan masing-
masing baris. Begitu pula jika tabel sisi kiri atau tabel pertama ada yang tidak cocok dengan
tabel sisi kanan maka baris itu akan bernilai NULL. Berikut ilustrasinya
H a l a m a n | 28
Sintaks:
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;
7.3. Praktikum
1) Left Join 2 tabel
SELECT code, name, CountryCode, language, IsOfficial
FROM country
LEFT JOIN countrylanguage ON code = CountryCode;
Query di atas menghubungkan antara tabel country (sebagai Left tabel atau tabel pertama)
dengan countrylanguage (sebagai right tabel atau tabel kedua) dengan field kunci code dan
CountryCode. Ditemukan beberapa baris di countrylanguage nilainya NULL. Berarti ada baris
field kunci yang tidak sama atau tidak ada di countrylanguage dengan country
Kebalikan dari Left, sekarang Right . Yaitu tabel countrylanguage (sebagai right tabel
atau tabel kedua)akan ditampilkan terlebih dahulu.
Agar terlihat perbedaannya maka , lakukan penghapusan dan penyuntingan (update) pada
tabel country dengan kode negara CIV dan update pada kode AFG.
DELETE FROM country WHERE
code = 'CIV';
UPDATE country
SET Code = 'AFX'
WHERE Code= 'AFG';
H a l a m a n | 29
Kemudian jalankan lagi perintah Right Join tadi. Sorting berdasar nama negara. Maka akan
tampil baris NULL di code, name yang merupakan field milik tabel country. Ini membuktikan
bahwa Right Join akan selalu menampilkan semua baris di tabel sisi kanan terlebih dahulu.
Apabila data di tabel country (left tabel) tidak tersedia, maka barisnya akan bernilai NULL
kemudian data yang tidak sama, juga akan bernilai NULL. Berdasar contoh tadi, countrycode
AFG tidak ada persamaannya karena code AFG yang ada pada tabel country sudah diganti
menjadi AFX.
7.4. Tugas
1) Tampilkan nama Negara yang tidak mempunyai kota.
H a l a m a n | 30
CATATAN :
H a l a m a n | 31
8.1. Tujuan
Mengenal dan memahami syntax atau perintah Limit dan Distinct dalam menampilkan data
lebih lanjut.
SELECT column_name(s)
FROM table_name
LIMIT number;
DISTINCT, adalah perintah tambahan setelah SELECT, berguna untuk menghilangkan duplikasi
data ketika akan ditampilkan.
Sintak:
SELECT DISTINCT column_name,column_name
FROM table_name;
8.3. Praktikum
1) Menampilkan data dengan batasan jumlah tertentu
SELECT * FROM city
LIMIT 10;
Query tersebut untuk menampilkan data pada tabel City dengan batasan hanya 10 baris
teratas.
2) Menampilkan data dengan batasan jumlah dan dimulai dari baris tertentu.
SELECT * FROM city
LIMIT 5,10;
Query tersebut untuk menampilkan data pada tabel City dengan batasan hanya 10 baris
teratas, dimulai pada baris ke-6 sebanyak 10 baris yaitu baris ke-6 hingga ke-15.
H a l a m a n | 32
Query pada poin pertama ditunjukkan dengan tanda garis utuh. Sedangkan query kedua
ditunjukkan oleh garis putus-putus. Dari gambar itu, jelas perbedaannya. Meski sama-sama
hanya 10 data yang ditampilkan, namun berbeda pada awalan baris yang ditampilkan.
Klausa LIMIT 5,10 pada query kedua, bisa diterjemahkan bahwa 5 baris teratas akan
diabaikan (tidak ditampilkan), maka setelah baris ke-5 akan ditampilkan sebanyak 10 baris
secara beruntun.
Dengan menambahkan perintah DISTINCT pada field countrycode, maka field tersebut tidak
ada duplikasi data.
Query tersebut akan menampilkan data countrycode dan district yang unique. Dalam query
ini, yang dianggap duplikasi adalah ketika gabungan nilai countrycode dan district nilainya
sama. Lihat contoh pada gambar berikut:
H a l a m a n | 33
Gambar di atas belum dijalankan query distinct countrycode, district sehingga ditemukan 6
duplikasi data. Countrycode NLD dengan district Zuid-Holland.
Setelah query kedua dijalankan, telah terlihat tanda pada gambar bahwa countrycode NLD
dengan district Zuid-Holland hanya ditampilkan 1 kali saja.
8.4. Tugas
1) Tampilkan jumlah total benua dari tabel Country
2) Tampilkan data dari hasil query tabel City dibawah ini mulai dari record ke 2 hingga 4
H a l a m a n | 34
CATATAN :
H a l a m a n | 35
9.1. Tujuan
Memahami logika pencarian menggunakan regular expression dan operator like/not like
Sintak:
Atau
string/teks. Penempatan karakter _ (karakter ganti yang cocok untuk satu karakter apa saja)
atau % (karakter ganti yang cocok untuk karakter apa saja dengan panjang karakter tidak
terbatas) sangat berpengaruh dalam pengoprasian operator ini. Sedangkakn operator NOT LIKE
adalah negasi dari operator LIKE.
Sintak:
9.3. Praktikum
1) Pencarian menggunakan REGEX
Sintak:
SELECT name FROM City WHERE name REGEXP "^sur"
Query diatas menampilkan data dari field name yang datanya berawalan sur
Sintak:
SELECT name FROM City WHERE name NOT REGEXP "[asdf]"
Query diatas menampilkan data dari field name yang datanya tidak mengandung huruf a,
s, d atau f.
Sintak:
SELECT name FROM City WHERE name REGEXP "^[^a-z]"
Query diatas menampilkan data dari field name yang datanya tidak berawalan karakter a
sampai z.
Gambar diatas adalah hasil query menggunakan perintah LIKE. Perintah tersebut akan
mencari data dengan kata kunci NLD. Berbeda dengan operator =, perintah LIKE
mampu mencari data yang mengandung kata NLD dan tidak berpengaruh dengan
besar kecilnya karakter data dalam record.
Perintah diatas berfungsi melakukan pencarian data pada record di field name dengan
syarat hanya terdapat satu karakter di dalam record tersebut. Singkatnya untuk
menampilkan karakter yang jumlahnya semisal 4 pada field tertentu maka karakter
yang di tulis pada syarat pencarian LIKE berjumlah 4 x _ atau ____.
Sintak:
SELECT * FROM City WHERE name LIKE '____'
Sintak:
SELECT * FROM City WHERE Population LIKE '5__'
Gambar 9.3 Hasil query untuk mencari populasi dengan awalan karakter 5 dan diikuti 2 karakter
setelahnya
Perintah query diatas akan menampilkan fieldDistrict yang datanya diawali dengan kata
kunci West
H a l a m a n | 38
Sintak:
SELECT District FROM City WHERE District LIKE '%Java'
Perintah query diatas akan menampilkan fieldDistrict yang datanya diakhiri dengan kata
kunci Java
Sintak:
SELECT * FROM City WHERE District LIKE '%Java%'
Perintah query diatas akan menampilkan fieldDistrict yang datanya mengandung kata
kunci Java
9.4. Tugas
1) Buatlah query untuk menampilkan nama kota dari tabel city menggunakan REGEX dengan
syarat data nama kota tersebut mengandung karakter -. Misal : Yong-in, Pointe-Noire
2) Buarlah query untuk menampilkan nama kota dari tabel city menggunakan perintah LIKE
dengan syarat nama kota berjumlah 6 huruf dengan huruf terakhir berakhiran huruf i.
Misal : Tajimi, Kediri, Jhansi
H a l a m a n | 39
CATATAN :
H a l a m a n | 40
10.1. Tujuan
Mengenal dan memahami fungsi dan pemanfaatan dari perintah UNION
Sintak :
10.3. Praktikum
1) Tampilkan nama negara dan nama kota menggunakan UNION
(SELECT 'Kota' AS keterangan, District AS nama FROM City LIMIT 2)
UNION
(SELECT 'Negara' AS keterangan, NAME AS nama FROM Country LIMIT 2)
H a l a m a n | 41
Query diatas menampilkan data dari tabel Country dan City yang kemudian hasilnya
digabungkan dengan fungsi UNION.
- Langkah 2, update nama salah satu kota yang isinya disamakan sama nama salah satu
negara
- Langkah 3, lakukan perintah langkah 1 untuk melihat apa saja data yang ditampilkan
- Langkah 4, gabungkan dengan UNION ALL
(SELECT District AS nama FROM City LIMIT 2)
UNION ALL
(SELECT NAME AS nama FROM Country LIMIT 2)
10.4. Tugas
1) Tampilkan data pada satu kolom untuk jumlah Negara, jumlah kota, jumlah bahasa resmi
yang digunakan (bernilai True) .
H a l a m a n | 42
CATATAN :
H a l a m a n | 43
REFERENSI
http://mysql.phi-integration.com/sql/
http://www.duniailkom.com/
https://dev.mysql.com/doc/refman/5.6/en/
http://www.w3schools.com/
http://w3resource.com/