bab 05-pernyataan select (basic)
DESCRIPTION
TRANSCRIPT
Praktikum Basis Data
(Database Server MySQL)
1 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Pernyataan SELECT
Praktikum Basis Data
(Database Server MySQL)
2 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Kemampuan Pernyataan SQL SELECT
SelectionProjection
Table 1 Table 2
Table 1Table 1
Join
Praktikum Basis Data
(Database Server MySQL)
3 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Database Contoh “World”
Download Sample : http://dev.mysql.com/doc/index-other.html
Praktikum Basis Data
(Database Server MySQL)
4 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
PERNYATAAN SQL DASAR
Praktikum Basis Data
(Database Server MySQL)
5 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Perintah SELECT dasar
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table;
Praktikum Basis Data
(Database Server MySQL)
6 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
SELECT Semua Kolom
SELECT *
FROM country;
SELECT *
FROM city;
SELECT *
FROM countrylanguage;
Praktikum Basis Data
(Database Server MySQL)
7 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
SELECT Kolom Tertentu
SELECT Code,Name,HeadOfState
FROM country;
SELECT ID,Name,CountryCode
FROM city;
Praktikum Basis Data
(Database Server MySQL)
8 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Ekspresi Aritmatika
SELECT 9 / 3 + 7 * 2 ;
Operator Deskripsi
+ Penambahan
- Pengurangan
* Perkalian
/ Pembagian
DIV Pembagian integer.
MOD, % Modulo, Pembagian mengambil Sisa
Praktikum Basis Data
(Database Server MySQL)
9 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Ekspresi Aritmatika dalam Tabel
Digunakan untuk menghitung sudah seberapa
tahun negara tersebut merdeka (tahun sekarang
dikurangi dengan tahun kemerdekaan)
SELECT Name, 2009 - IndepYear
FROM country
Praktikum Basis Data
(Database Server MySQL)
10 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
NULL dalam Ekspresi Aritmatika
Jika sebuah ekspresi matematika mengandung NULL, maka
hasil perhitungannya adalah NULL
Perhatikan hasil eksekusi tersebut pada negara 'Netherlands
Antilles', Aruba, Anguilla
SELECT Name, IndepYear, 2009 - IndepYear
FROM country
Praktikum Basis Data
(Database Server MySQL)
11 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Alias Kolom
• Alias digunakan untuk memberikan nama kolom yang lebih
baik.
SELECT Name AS NamaNegara, IndepYear 'Tahun Kemerdekaan',
2009 - IndepYear "Lama Merdeka"
FROM country
• Boleh menggunakan keyword AS.
• Untuk nama alias kolom yang mengandung spasi, gunakan
tanda kutif tunggal atau ganda
• Tidak bisa digunakan untuk kriteria dalam WHERE
Praktikum Basis Data
(Database Server MySQL)
12 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Baris Duplikat
DISTINCT digunakan untuk menghilangkan baris duplikat.
• SELECT tanpa DISTINCT (Menghasilkan 4079 baris)
• SELECT dengan DISTINCT (Menghasilkan 232 baris)
SELECT CountryCode
FROM city
SELECT DISTINCT CountryCode
FROM city
Praktikum Basis Data
(Database Server MySQL)
13 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Baris Duplikat
DISTINCT menggunakan banyak kolom.
• SELECT tanpa DISTINCT (Menghasilkan 984 baris)
• SELECT dengan DISTINCT (Menghasilkan 390 baris)
SELECT CountryCode,IsOfficial
FROM CountryLanguage
SELECT DISTINCT CountryCode,IsOfficial
FROM CountryLanguage
Praktikum Basis Data
(Database Server MySQL)
14 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Pengurutan
• Pengurutan dapat dilakukan dengan menggunakan perintah
ORDER BY
• Pengurutan dapat dilakukan secara menaik (ASCending),
maupun menurun (DESCending)
• Jika jenis pengurutan tidak disebutkan, maka dianggap
pengurutan menaik (Ascending)
• Pengurutan dapat dilakukan 1 level, 2 level atau lebih.
Praktikum Basis Data
(Database Server MySQL)
15 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Pengurutan
• Pengurutan Menaik (Ascending)
• Pengurutan Menurun (Descending)
SELECT *
FROM city ORDER BY name
SELECT *
FROM city ORDER BY name DESC
Praktikum Basis Data
(Database Server MySQL)
16 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Pengurutan
Pengurutan dapat dilakukan 2 level atau lebih. Setiap level
dapat mempunyai jenis pengaturan masing masing.
• Pengurutan berdasarkan Populasi secara ascending. Jika
ada populasi yang sama, maka akan akan diurutkan lagi
berdasarkan ID secara descending.
• Pengurutan 2 level secara descending.
SELECT ID,NAME,Population
FROM city ORDER BY Population,ID desc
SELECT ID,NAME,Population
FROM city ORDER BY Population desc,ID desc
Praktikum Basis Data
(Database Server MySQL)
17 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
SELEKSI
(MEMBATASI BARIS)
Praktikum Basis Data
(Database Server MySQL)
18 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Membatasi Baris
• Pembatasan baris yang dihasilkan oleh sebuah query
dilakukan dengan menambahkan klausa WHERE
• Dalam WHERE umumnya menggunakan operator
perbandingan.
• WHERE ditulis setelah klausa FROM selesai.
Praktikum Basis Data
(Database Server MySQL)
19 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Operator Perbandingan
Operator Deskripsi
= Sama dengan
> Lebih besar
>= Lebih besar atau sama dengan
< Lebih kecil
<= Lebih kecil atau sama dengan
<> , != Tidak sama dengan
BETWEEN ...AND... Antara dua nilai
IN(set) Cocok dengan salah satu dari daftar nilai
LIKE Cocok dengan pola tertentu
IS NULL / IS NOT NULL Perbandingan dengan nilai NULL
Praktikum Basis Data
(Database Server MySQL)
20 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Contoh Pembatasan Baris
SELECT Code, Name, Continent
FROM Country
WHERE Continent='Asia'
SELECT Name,Population
FROM City
WHERE Population>5000000
SELECT Code, Name, Continent
FROM Country
WHERE Continent<>'Asia'
Praktikum Basis Data
(Database Server MySQL)
21 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Seleksi dengan operator IN
• Seleksi negara Asia atau Eropa
• Seleksi negara bukan Asia atau Eropa
SELECT Code, Name, Continent
FROM Country
WHERE Continent IN ('Asia','Europe')
SELECT Code, Name, Continent
FROM Country
WHERE Continent NOT IN ('Asia','Europe')
Praktikum Basis Data
(Database Server MySQL)
22 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Seleksi dengan operator BETWEEN
• Digunakan untuk seleksi berdasarkan range nilai tertentu
SELECT ID, Name
FROM City
WHERE Population BETWEEN 5000000 and 6000000
SELECT ID, Name
FROM City
WHERE ID BETWEEN 100 and 200
Praktikum Basis Data
(Database Server MySQL)
23 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Seleksi dengan operator LIKE
• Digunakan untuk melakukan pencarian berdasarkan wildcard.
• Pencarian dapat berupa string atau bilangan
• Karakter wildcard yang dapat digunakan adalah :
% mewakili 0 atau banyak karakter.
_ mewakili sebuah karakter
SELECT ID, Name
FROM City
WHERE Name LIKE 'Ban%'
SELECT ID, Name
FROM City
WHERE Id like '_4'
Praktikum Basis Data
(Database Server MySQL)
24 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Seleksi Berdasarkan Kolom NULL
• Perbandingan terhadap nilai NULL hanya bisa dilakukan
dengan operator IS.
SELECT Code, Name, IndepYear
FROM country
WHERE IndepYear IS NULL
Praktikum Basis Data
(Database Server MySQL)
25 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Seleksi dengan operator logika
Operator Deskripsi
AND, && Mereturnkan TRUE jika kedua
operan bernilai TRUE
OR, || Mereturnkan TRUE jika salah satu
atau keduanya bernilai TRUE
NOT, ! Mereturnkan TRUE jika operannya
bernilai FALSE.
XOR Mereturnkan TRUE jika salah satu
dari operannya bernilai TRUE dan
yang lainnya bernilai FALSE
Praktikum Basis Data
(Database Server MySQL)
26 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Seleksi dengan operator logika
SELECT Name, Population,Continent
FROM country
WHERE Population>=500000 AND Continent='North America'
SELECT Name, Population,Continent
FROM country
WHERE Population>=500000 OR Continent='North America'
SELECT Name, Population,Continent
FROM country
WHERE Continent<>'North America'
Praktikum Basis Data
(Database Server MySQL)
27 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Seleksi dengan LIMIT
LIMIT digunakan untuk membatasi banyaknya baris yang ingin
dihasil dari sebuah query.
Ada 2 cara menggunakan limit
1. LIMIT BanyakBaris
Limit ini digunakan untuk mengambil baris-baris data dari data pertama
sebanyak BanyakBaris.
2. LIMIT NoRecordAwal,BanyakBaris
Limit ini digunakan untuk mengambil baris-baris data dari posisi
NoRecordAwal sebanyak BanyakBaris. NoRecordAwal dimulai dengan
0 yang menunjuk ke data Pertama.
Praktikum Basis Data
(Database Server MySQL)
28 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
Seleksi dengan LIMIT
1. Menampilkan 10 Negara dengan penduduk terbanyak
2. Menampilkan Negara posisi 11 – 20 berdasarkan
banyaknya penduduk.
SELECT Name, Population,Continent
FROM country
ORDER BY Population DESC LIMIT 10
SELECT Name, Population,Continent
FROM country
ORDER BY Population DESC LIMIT 10,10
Praktikum Basis Data
(Database Server MySQL)
29 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
LATIHAN
1. Cari negara yang namanya berakhiran dengan “ia”.
Misalnya Indonesia, Australia, dll
2. Cari negara di Asia yang bentuk pemerintahannya Republic
3. Negara apa yang tingkat harapan hidupnya
(LifeExpectation) paling besar
4. Cari negara yang telah merdeka lebih dari 60 tahun
5. Bahasa apa saja yang banyak dikenal di dunia. Sebut
hanya 1 kali untuk setiap bahasa.
Praktikum Basis Data
(Database Server MySQL)
30 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)
LATIHAN
6. Cari kota mana di Indonesia yang populasinya lebih dari
2000000 penduduk.
7. Di negara manakah bahasa inggris digunakan oleh lebih
dari 60% penduduknya.
8. Cari nama negara dan kepadatan penduduknya. Susun dari
yang mempunyai kepadatan penduduk paling tinggi.