Slide 4 pengelompokan_data
-
Upload
badra-kusuma -
Category
Documents
-
view
472 -
download
0
Transcript of Slide 4 pengelompokan_data
![Page 1: Slide 4 pengelompokan_data](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/1.jpg)
Pengelompokan Data
![Page 2: Slide 4 pengelompokan_data](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/14.jpg)
Select Untuk Fungsi Agregat
Studi Kasus Klinik
Data Dokter Data Periksa Data Pasien
![Page 15: Slide 4 pengelompokan_data](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/32.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/33.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/34.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/35.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/36.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/37.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/38.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/39.jpg)
Pengurutan Data (Order By)
1. select * from customer
2. select nama, alamat from customer
order by nama
![Page 40: Slide 4 pengelompokan_data](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/40.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/41.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/42.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/43.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/44.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/45.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/46.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081401/558fd2e11a28ab305e8b4592/html5/thumbnails/47.jpg)
Syntax Tambahan
MENAMPILKAN STRUKTUR TABEL
Untuk menampilkan struktur tabel digunakan DESCRIBE.
Formatnya: DESCRIBE [namatabel]
Contoh:
DESCRIBE employees