Slide 4 pengelompokan_data

47
Pengelompokan Data

Transcript of Slide 4 pengelompokan_data

Page 1: Slide 4 pengelompokan_data

Pengelompokan Data

Page 2: Slide 4 pengelompokan_data

Pengelompokan Data● Operator

● SQL Syntax : Select (Lanjutan)

● SQL Syntax : Where (Lanjutan)

a) Where untuk filter data

b) Where untuk relasi● Alias

● Order By

● Group By

● Having

Page 3: Slide 4 pengelompokan_data

Pengelompokan Data

● Operator● SQL Syntax : Select (Lanjutan)

● SQL Syntax : Where (Lanjutan)

a) Where untuk filter data

b) Where untuk relasi● Alias

● Order By

● Group By

● Having

Page 4: Slide 4 pengelompokan_data

Operator Relasional

Operator Keterangan Contoh

> Lebih besar (4>6) = FALSE

>= Lebih besar atau sama dengan

(8>=6) = TRUE

< Lebih kecil (3<7) = TRUE

<= Lebih kecil atau sama dengan

(5<=5) = TRUE

= Sama dengan (5=6) = FALSE

<> Tidak sama dengan (3<>4) =TRUE

Page 5: Slide 4 pengelompokan_data

Operator Logika

Operator Keterangan Contoh

AND Konjungsi (TRUE AND FALSE) = FALSE(TRUE AND TRUE) = TRUE

OR Disjungsi (TRUE OR FALSE) = TRUE(FALSE OR FALSE) = FALSE

NOT Negasi (TRUE) = FALSE

Page 6: Slide 4 pengelompokan_data

Operator Aritmatika

Operator Keterangan Contoh

+ Penambahan 12 + 2 = 14

- Pengurangan 12 – 2 = 10

* Perkalian 12 * 2 = 24

/ Pembagian 12 / 2 = 6

MOD Modulus (Sisa Bagi) 10 MOD 3 = 1

Page 7: Slide 4 pengelompokan_data

Ekspresi Aritmatika

Suatu ekspresi yang melibatkan tipe data bilangan (NUMBER) dan tanggal (DATE) dapat menggunakan ekspresi aritmatika.

Contoh:

SELECT last_name, salary, salary+300

FROM employees;

Page 8: Slide 4 pengelompokan_data

Operator Presedence

Perkalian dan pembagian memiliki prioritas (presedence) lebih tinggi daripada penambahan dan pengurangan

Contoh:

SELECT last_name, salary, 12*salary+100

FROM employees;

Page 9: Slide 4 pengelompokan_data

Penggunaan Tanda Kurung

Penggunaan tanda kurung memiliki prioritas paling tinggi dibanding presedensi operator yang lain.

Contoh:

SELECT last_name, salary, 12*(salary+100)

FROM employees;

Page 10: Slide 4 pengelompokan_data

Pengelompokan Data● Operator

● SQL Syntax : Select (Lanjutan)● SQL Syntax : Where (Lanjutan)

a) Where untuk filter data

b) Where untuk relasi● Alias

● Order By

● Group By

● Having

Page 11: Slide 4 pengelompokan_data

Select (Menghilangkan Duplikasi)

Distinct Digunakan apabila kita ingin menghilangkan duplikasi dari hasil query (hasil query yang sama ditampilkan sekali)

SELECT [DISTINCT] select_list

FROM table_source

Page 12: Slide 4 pengelompokan_data

Select (Menghilangkan Duplikasi)

Contoh :

Untuk menampilkan nomor-nomor anggota yang sedang meminjam atau belum mengembalikan:

SELECT NoAnggota FROM Peminjaman

Pada hasil query tersebut terdapat NoAnggota yang ditampilkan lebih dari sekali. Untuk meniadakan duplikasi, querynya adalah sbb:

SELECT DISTINCT NoAnggota FROM Peminjaman

NoAnggota

ID001

ID002

ID003

NoAnggota

ID001

ID002

ID001

ID003

Page 13: Slide 4 pengelompokan_data

Select Untuk Fungsi Agregat● Fungsi Agregat : fungsi yang hasilnya diambil dari proses tiap baris pada

tabel● Proses tersebut akan mengolah nilai sebuah field atau lebih mulai baris

pertama sampai seluruh baris

Fungsi-fungsi tersebut yakni:● COUNT(kolom) : mendapatkan jumlah baris● SUM(kolom) : mendapatkan hasil penjumlahan kolom● MAX(kolom) : mendapatkan nilai tertinggi● MIN(kolom) : mendapatkan nilai terendah● AVG(kolom) : mendapatkan nilai rata-rata

Page 14: Slide 4 pengelompokan_data

Select Untuk Fungsi Agregat

Studi Kasus Klinik

Data Dokter Data Periksa Data Pasien

Page 15: Slide 4 pengelompokan_data

Select Untuk Fungsi Agregat

CONTOH MIN :

Tampilkan umur pasien yang mempunyai usia paling muda !

Query:

select min (umur) as umur from pasienData Pasien Hasil

Page 16: Slide 4 pengelompokan_data

Select Untuk Fungsi Agregat

CONTOH MAX

Tampilkan umur dokter yang mempunyai usia paling tua !

Query :

select max (umur) as umur from dokterData Dokter Hasil

Page 17: Slide 4 pengelompokan_data

Select Untuk Fungsi Agregat

CONTOH AVG

Tampilkan umur rata-rata dari pasien !

Query :

select avg (umur) as umur from pasienData Pasien Hasil

Page 18: Slide 4 pengelompokan_data

Select Untuk Fungsi Agregat

CONTOH SUM

Jumlahkan semua umur pasien !

Query :

select sum (umur) as total_umur from pasien

Data Pasien Hasil

Page 19: Slide 4 pengelompokan_data

Select Untuk Fungsi Agregat

CONTOH COUNT

Hitunglah berapa kali setiap dokter memeriksa

pasien ! Kelompokkan dan urutkan berdasarkan id dokter

Query :

select did, count (did) as jumlah from periksa

group by did

order by did

Data Periksa Hasil

Page 20: Slide 4 pengelompokan_data

Pengelompokan Data● Operator

● SQL Syntax : Select (Lanjutan)

● SQL Syntax : Where (Lanjutan)

a) Where untuk filter data

b) Where untuk relasi● Alias

● Order By

● Group By

● Having

Page 21: Slide 4 pengelompokan_data

Syntax Where (Lanjutan)

➔ Klausa ini biasanya digunakan untuk:

1.FILTER (PENYARINGAN) DATA

2.MERELASIKAN/MENGHUBUNGKAN QUERY YANG DISUSUN LEBIH DARI SATU TABEL.

➔ Penerapannya adalah dengan memasukkan suatu ekspresi kondisi setelah klausa WHERE. Bentuk umum → WHERE <kondisi>

➔ Jika <kondisi> lebih dari satu, maka bisa ditambahkan dengan AND atau OR (sesuai dengan kebutuhan).

Page 22: Slide 4 pengelompokan_data

Pengelompokan Data● Operator

● SQL Syntax : Select (Lanjutan)

● SQL Syntax : Where (Lanjutan)

a)Where untuk filter datab) Where untuk relasi

● Alias

● Order By

● Group By

● Having

Page 23: Slide 4 pengelompokan_data

Syntax Where Untuk Filter Data

Where untuk filter atau pencarian data di dalam SQL bisa dalam beberapa bentuk ekspresi, yakni:

1. OPERASI PEMBANDINGAN

2. OPERASI PENDEKATAN POLA

3. OPERASI PEMBANDINGAN DENGAN SEKUMPULAN NILAI

Page 24: Slide 4 pengelompokan_data

Syntax Where Untuk Filter Data

OPERASI PEMBANDINGAN

1. Menampilkan anggota yang berjenis kelamin laki-laki:

SELECT * FROM Anggota WHERE JK="L“

2. Menampilkan Anggota yang tahun kelahirannya lebih dari 1985 :

SELECT * FROM Anggota WHERE year(TglLahir) > 1985

3. Menampilkan Anggota wanita yang lahir di bulan Juni:

SELECT * FROM anggota WHERE JK="P" AND month(TglLahir)=6

4. Menampilkan idKoleksi yang belum dikembalikan (TglKembali belum terisi)

SELECT * FROM Peminjaman WHERE TglKembali IS NULL

Page 25: Slide 4 pengelompokan_data

Syntax Where Untuk Filter Data

OPERASI LIKE (PENDEKATAN POLA)

● Operasi ini, hanya untuk pembandingan nilai bertipe string

● Digunakan untuk mengenali string-string yang memiliki pola tertentu.

● Di dalam operasi ini, digunakan simbol-simbol berikut:

➔ simbol % artinya mewakili 0 s/d tak terhingga dari sembarang karakter

➔ simbol _ artinya mewakili satu sembarang karakter

Page 26: Slide 4 pengelompokan_data

Syntax Where Untuk Filter Data

OPERASI LIKE (PENDEKATAN POLA)

● Menampilkan anggota yang nama depannya "Budi":

SELECT * FROM anggota WHERE Nama LIKE "Budi%"

● Menampilkan Anggota yang huruf ketiga namanya adalah “d”:

SELECT * FROM anggota WHERE Nama LIKE "_ _d%"

● Menampilkan koleksi yang judulnya terdapat kata “pemrograman”:

SELECT * FROM koleksi WHERE Judul LIKE "%pemrograman%"

Page 27: Slide 4 pengelompokan_data

Syntax Where Untuk Filter Data

OPERASI IN ATAU NOT IN● Ekspresi ini digunakan untuk membandingkan dengan sebuah

kumpulan nilai ● Kumpulan nilai bisa berupa:

1. Nilai-nilai yang diisikan

2. Query tunggal (query yg hasilnya hanya terdapat sebuah kolom saja )

Page 28: Slide 4 pengelompokan_data

Syntax Where Untuk Filter Data

OPERASI IN ATAU NOT IN (NILAI YANG DIISIKAN)

Nilai-nilai yang diisikan, maksudnya Anda sendiri yang mengisikan nilai-nilai tersebut di dalam query

Contoh :

1.Menampilkan koleksi yang jenisnya buku dan majalah (idTipeKoleksi=1 atau 2) → SELECT * FROM koleksi WHERE idTipeKoleksi IN (1, 2)

2.Menampilkan anggota yang selain mahasiswa atau dosen (idJenisAnggota selain 2 dan 3) →

SELECT * FROM anggota WHERE IDJenisAnggota NOT IN (2, 3)

Page 29: Slide 4 pengelompokan_data

Syntax Where Untuk Filter Data

OPERASI IN ATAU NOT IN (BERDASARKAN QUERY TUNGGAL)

Query tunggal, yakni nilai-nilai yang digunakan sebagai pembanding diambil dari sebuah query yang hasilnya hanya satu kolom saja

Contoh :

1. Menampilkan anggota yang belum pernah meminjam buku sama sekali → SELECT * FROM anggota WHERE id NOT IN (SELECT DISTINCT idAnggota FROM Peminjaman)

2. Menampilkan koleksi yang sedang dipinjam → SELECT * FROM koleksi WHERE idKoleksi IN (SELECT idKoleksi FROM Peminjaman WHERE TglKembali is NULL)

Page 30: Slide 4 pengelompokan_data

Syntax Where Untuk Filter Data

Operasi BETWEEN

Operator BETWEEN … AND memilih data antara dua nilai. Nilai dapat berupa angka, teks, atau tanggal.

SELECT nama_kolom FROM nama_tabel WHERE nama_kolom BETWEEN nilai1 AND nilai2

Contoh :

Select kode_pas, kode_dok from berobat Where tgl_berobat

Between ‘2011-04-01’ AND ‘2011-04-03’;

Page 31: Slide 4 pengelompokan_data

Pengelompokan Data● Operator

● SQL Syntax : Select (Lanjutan)

● SQL Syntax : Where (Lanjutan)

a) Where untuk filter data

b)Where untuk relasi● Alias

● Order By

● Group By

● Having

Page 32: Slide 4 pengelompokan_data

Syntax Where Untuk Relasi

PENGGUNAAN TANDA TITIK (.)

● Jika ada nama field yang sama dari tabel yang disertakan, maka sebelum nama field, berikan nama tabel diikuti sebuah titik (.)

● Misal untuk query sebelumnya bisa juga ditulis sbb:

SELECT Koleksi.idKoleksi, Koleksi.Judul,

Pengarang.Nama

FROM Koleksi, Pengarang

WHERE Koleksi.idPengarang=Pengarang.idPengarang

Page 33: Slide 4 pengelompokan_data

Pengelompokan Data● Operator

● SQL Syntax : Select (Lanjutan)

● SQL Syntax : Where (Lanjutan)

a) Where untuk filter data

b) Where untuk relasi● Alias

● Order By

● Group By

● Having

Page 34: Slide 4 pengelompokan_data

Alias

● Sebuah tabel bisa diberi nama lain (alias) :

1. Untuk membedakan field jika sebuah query mengambil tabel yang sama lebih dari satu

2. Untuk memperpendek pengetikan

● Nama alias ditulis setelah nama tabel yang bersangkutan

Page 35: Slide 4 pengelompokan_data

Alias (Membedakan Field)

Contoh :

select proyek.nama, departemen.nama from proyek, departemen

where proyek.id = departemen.id order by proyek.id

select proyek.nama as nama_pro, departemen.nama as nama_dept

from proyek, departemen where proyek.id = departemen.id

order by proyek.id

Page 36: Slide 4 pengelompokan_data

Alias (Memperpendek Pengetikan)

Contoh :

select proyek.nama, departemen.nama from proyek, departemen

where proyek.id = departemen.id order by proyek.id

select p.nama as nama_pro, d.nama as nama_dept

from proyek p, departemen d where p.id = d.id

order by p.id

Page 37: Slide 4 pengelompokan_data

Pengelompokan Data● Operator

● SQL Syntax : Select (Lanjutan)

● SQL Syntax : Where (Lanjutan)

a) Where untuk filter data

b) Where untuk relasi● Alias

● Order By● Group By

● Having

Page 38: Slide 4 pengelompokan_data

Pengurutan Data (Order By)

● Pencarian data akan jauh lebih mudah jika data yang tersedia telah diurutkan berdasarkan field tertentu.

● Misalnya untuk mencari data customer, akan lebih mudah mencari berdasarkan urutan nama.

Select field 1, field 2,… field –n

From tabel

Order by field

Page 39: Slide 4 pengelompokan_data

Pengurutan Data (Order By)

1. select * from customer

2. select nama, alamat from customer

order by nama

Page 40: Slide 4 pengelompokan_data

Pengurutan Data (Order By)

3. Pengurutan ASC dan DESC

select nama, alamat from customer

order by nama asc

select nama, alamat from customer

order by nama desc

Page 41: Slide 4 pengelompokan_data

Pengurutan Data (Order By)

4. Pengurutan berdasarkan lebih dari satu atribut

SELECT tahun, pengarang, judul_buku, penerbit

FROM buku

ORDER BY tahun, pengarang;

Page 42: Slide 4 pengelompokan_data

Pengelompokan Data● Operator

● SQL Syntax : Select (Lanjutan)

● SQL Syntax : Where (Lanjutan)

a) Where untuk filter data

b) Where untuk relasi● Alias

● Order By

● Group By● Having

Page 43: Slide 4 pengelompokan_data

Penggolongan Data (Group By)

● Pada kasus seleksi data sering kali menampilkan sekumpulan data berdasarkan kelompok data tertentu.

● Penting untuk diperhatikan, kolom yang disertakan setelah GROUP BY harus sama dengan kolom yang dipilih pada setelah klausa SELECT

● Biasanya untuk kasus pengelompokan data disertakan fungsi aggregate : min(), max(), avg, sum(), dan count()

Page 44: Slide 4 pengelompokan_data

Penggolongan Data (Group By)

Contoh :

SELECT OrderID, Sum (Quantity) FROM

Order_Detail GROUP BY OrderID

SELECT OrderID, Min (UnitPrice), Max

(UnitPrice) FROM Order_Detail GROUP BY OrderID

Page 45: Slide 4 pengelompokan_data

Pengelompokan Data● Operator

● SQL Syntax : Select (Lanjutan)

● SQL Syntax : Where (Lanjutan)

a) Where untuk filter data

b) Where untuk relasi● Alias

● Order By

● Group By

● Having

Page 46: Slide 4 pengelompokan_data

Kondisi Agregat (Having)

Jika untuk filter query biasa kita menggunakan klause where, maka klausa having digunakan untuk filter fungsi-fungsi aggregate.

Contoh :

untuk menampilkan jumlah buku per kode penerbit, tetapi hanya yang jumlahnya >10 saja yang ditampilkan.

SELECT idPenerbit, COUNT(*) FROM koleksi

GROUP BY idPenerbit HAVING COUNT(*)>10

Page 47: Slide 4 pengelompokan_data

Syntax Tambahan

MENAMPILKAN STRUKTUR TABEL

Untuk menampilkan struktur tabel digunakan DESCRIBE.

Formatnya: DESCRIBE [namatabel]

Contoh:

DESCRIBE employees