Bab 05-pernyataan select (basic)

30
Praktikum Basis Data (Database Server MySQL) 1 Oleh : Andri Heryandi, MT, Teknik Informatika Universitas Komputer Indonesia (UNIKOM) Pernyataan SELECT

description

 

Transcript of Bab 05-pernyataan select (basic)

Page 1: Bab 05-pernyataan select (basic)

Praktikum Basis Data

(Database Server MySQL)

1 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)

Pernyataan SELECT

Page 2: Bab 05-pernyataan select (basic)

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

Page 3: Bab 05-pernyataan select (basic)

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

Page 4: Bab 05-pernyataan select (basic)

Praktikum Basis Data

(Database Server MySQL)

4 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)

PERNYATAAN SQL DASAR

Page 5: Bab 05-pernyataan select (basic)

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;

Page 6: Bab 05-pernyataan select (basic)

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;

Page 7: Bab 05-pernyataan select (basic)

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;

Page 8: Bab 05-pernyataan select (basic)

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

Page 9: Bab 05-pernyataan select (basic)

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

Page 10: Bab 05-pernyataan select (basic)

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

Page 11: Bab 05-pernyataan select (basic)

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

Page 12: Bab 05-pernyataan select (basic)

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

Page 13: Bab 05-pernyataan select (basic)

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

Page 14: Bab 05-pernyataan select (basic)

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.

Page 15: Bab 05-pernyataan select (basic)

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

Page 16: Bab 05-pernyataan select (basic)

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

Page 17: Bab 05-pernyataan select (basic)

Praktikum Basis Data

(Database Server MySQL)

17 Oleh : Andri Heryandi, MT, Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)

SELEKSI

(MEMBATASI BARIS)

Page 18: Bab 05-pernyataan select (basic)

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.

Page 19: Bab 05-pernyataan select (basic)

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

Page 20: Bab 05-pernyataan select (basic)

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'

Page 21: Bab 05-pernyataan select (basic)

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')

Page 22: Bab 05-pernyataan select (basic)

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

Page 23: Bab 05-pernyataan select (basic)

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'

Page 24: Bab 05-pernyataan select (basic)

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

Page 25: Bab 05-pernyataan select (basic)

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

Page 26: Bab 05-pernyataan select (basic)

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'

Page 27: Bab 05-pernyataan select (basic)

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.

Page 28: Bab 05-pernyataan select (basic)

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

Page 29: Bab 05-pernyataan select (basic)

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.

Page 30: Bab 05-pernyataan select (basic)

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.