indignant (Slide 2) usurp (Slide 3) tremulous (Slide 4) deride (Slide 5) insolent (Slide 6)
Slide 4 pengelompokan_data
-
Upload
badra-kusuma -
Category
Documents
-
view
472 -
download
0
Transcript of Slide 4 pengelompokan_data
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
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
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
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
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
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;
Operator Presedence
Perkalian dan pembagian memiliki prioritas (presedence) lebih tinggi daripada penambahan dan pengurangan
Contoh:
SELECT last_name, salary, 12*salary+100
FROM employees;
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;
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
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
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
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
Select Untuk Fungsi Agregat
Studi Kasus Klinik
Data Dokter Data Periksa Data Pasien
Select Untuk Fungsi Agregat
CONTOH MIN :
Tampilkan umur pasien yang mempunyai usia paling muda !
Query:
select min (umur) as umur from pasienData Pasien Hasil
Select Untuk Fungsi Agregat
CONTOH MAX
Tampilkan umur dokter yang mempunyai usia paling tua !
Query :
select max (umur) as umur from dokterData Dokter Hasil
Select Untuk Fungsi Agregat
CONTOH AVG
Tampilkan umur rata-rata dari pasien !
Query :
select avg (umur) as umur from pasienData Pasien Hasil
Select Untuk Fungsi Agregat
CONTOH SUM
Jumlahkan semua umur pasien !
Query :
select sum (umur) as total_umur from pasien
Data Pasien Hasil
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
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
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).
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
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
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
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
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%"
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 )
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)
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)
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’;
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
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
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
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
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
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
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
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
Pengurutan Data (Order By)
1. select * from customer
2. select nama, alamat from customer
order by nama
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
Pengurutan Data (Order By)
4. Pengurutan berdasarkan lebih dari satu atribut
SELECT tahun, pengarang, judul_buku, penerbit
FROM buku
ORDER BY tahun, pengarang;
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
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()
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
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
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
Syntax Tambahan
MENAMPILKAN STRUKTUR TABEL
Untuk menampilkan struktur tabel digunakan DESCRIBE.
Formatnya: DESCRIBE [namatabel]
Contoh:
DESCRIBE employees