1 / 20

SQL -- DML

SQL -- DML. Pertemuan 7. WHERE. Klausa ini biasanya digunakan untuk:. Filter ( penyaringan ) data. Merelasikan/menghubungkan query yang disusun lebih dari satu tabel. Penerapannya adalah dengan memasukkan suatu ekspresi kondisi setelah klausa WHERE: WHERE <kondisi>

amable
Download Presentation

SQL -- DML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL -- DML Pertemuan 7

  2. WHERE • Klausa ini biasanya digunakan untuk: Filter (penyaringan) data. Merelasikan/menghubungkan query yang disusunlebihdarisatutabel. • Penerapannya adalah dengan memasukkan suatu ekspresi kondisi setelah klausa WHERE: WHERE <kondisi> • Jika <kondisi> lebih dari satu, maka bisa ditambahkan dengan AND atau OR (sesuai dengan kebutuhan).

  3. WHERE <kondisi> UNTUK FILTER Where untuk filter atau pencarian data di dalam SQL bisa dalam beberapa bentuk ekspresi, yakni: • operasi pembandingan • operasi pendekatan pola • operasi pembandingan dengan sekumpulan nilai

  4. Operasi Pembandingan Operasi: = < <= >= > <> is • Khusus untuk pembanding IS, nilai yang diisikan adalah null, yakni sebuah nilai yang belum berisi nilai. • nilai null tidak sama dengan nilai 0 pada tipe numerik ataupun string kosong pada tipe string

  5. Operasi Pembandingan Contoh • menampilkan anggota yang berjenis kelamin laki-laki: SELECT * FROM Anggota WHERE JK="L" • menampilkan Anggota yang tahun kelahirannya lebih dari 1985 SELECT * FROM Anggota WHERE year(TglLahir) > 1985 • menampilkan Anggota wanita yang lahir di bulan Juli: SELECT * FROM anggota WHERE JK="P" AND month(TglLahir)=6 • menampilkan idKoleksi yang belum dikembalikan (TglKembali belum terisi) SELECT * FROM Peminjaman WHERE TglKembali IS NULL

  6. 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 1 sembarang karakter

  7. Operasi LIKE (pendekatan pola) Contoh • 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%"

  8. operasi IN atau NOT IN • Ekspresi ini digunakan untuk membandingkan dengan sebuah kumpulan nilai • Kumpulan nilai bisa berupa: • nilai-nilai yang diisikan • query tunggal query yg hasilnya hanya terdapat sebuah kolom saja

  9. operasi IN atau NOT IN Contoh • Nilai-nilai yang diisikan, maksudnyakitasendiri yang mengisikannilai-nilaitersebutdidalam query kita. • menampilkan koleksi yang jenisnya buku dan majalah (idTipeKoleksi=1 atau 2): SELECT * FROM koleksi WHERE idTipeKoleksi IN (1, 2) • menampilkan anggota yang selain mahasiswa atau dosen (idJenisAnggota selain 2 dan 3) SELECT * FROM anggota WHERE IDJenisAnggota NOT IN (1, 3)

  10. operasi IN atau NOT IN • Query tunggal, yakni nilai-nilai yang digunakan sebagai pembanding diambil dari sebuah query tunggal yang hasilnya hanya satu kolom saja Contoh • menampilkan anggota yang belum pernah meminjam buku sama sekali: SELECT * FROM anggota WHERE id NOT IN (SELECT DISTINCT idAnggota FROM Peminjaman) • menampilkan koleksi yang sedang dipinjam: SELECT * FROM koleksi WHERE idKoleksi IN (SELECT idKoleksiFROM Peminjaman WHERE TglKembali is NULL)

  11. WHERE <KONDISI> UNTUK RELASI • Jika kita mengambil informasi dari lebih dari sebuah tabel, maka kita perlu menambahkan kondisi untuk relasi antara kedua tabel tersebut. • Pada dasarnya mirip dengan filter, tapi fungsinya digunakan untuk merelasikan antara tabel-tabel yang diambil informasinya

  12. WHERE <KONDISI> UNTUK RELASI Contoh • menampilkan idKoleksi, judul dan nama pengarang idKoleksi dan judul bisa diambil dari tabel koleksi. Tetapi, di tabel koleksi tidak terdapat field nama pengarang. Yang ada hanya idPengarang. Oleh sebab itu, supaya bisa menampilkan informasi yang akurat, perlu direlasikan antara tabel Koleksi dg tabel Pengarang. SELECT idKoleksi, Judul, Nama FROM Koleksi, Pengarang WHERE idPengarang=id idPengarang=id adalah untuk relasi antara tabel Koleksi dan tabel Pengarang. Tanpa relasi ini, hasil query akan menampilkan seluruh pasangan baris data Koleksi di tiap baris Pengarang, yg tentu saja bukan informasi yang benar.

  13. WHERE <KONDISI> UNTUK RELASI • 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.id

  14. WHERE <KONDISI> UNTUK RELASI Contoh • menampilkan daftar idKoleksi, judul koleksi dan harganya yang dipinjam dg nomor anggota: 551, diurutkan berdasarkan judul koleksi: SELECT kl.idKoleksi, kl.judul, kl.harga FROM koleksi kl, peminjaman pj, anggota ag WHERE pj.idkoleksi=kl.idkoleksi AND pj.idAnggota=ag.id AND ag.idAnggota = 551 ORDER BY kl.judul

  15. FUNGSI-FUNGSI AGREGATE • Yaitu fungsi-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(*)  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

  16. FUNGSI-FUNGSI AGREGATE Contoh • untuk menampilkan jumlah seluruh anggota: SELECT COUNT(*) FROM Anggota • untuk menampilkan tahun kelahiran anggota tertua: SELECT MIN(year(TglLahir)) FROM anggota

  17. GROUP BY <kolom1> [,<kolom2>] • Digunakan untuk pengelompokan dari fungsi-fungsi aggregate • Yang penting untuk diperhatikan, kolom-kolom yang disertakan setelah GROUP BY harus sama dengan kolom-kolom yang dipilih pada setelah klausa SELECT yg selain fungsi AGGREGATE

  18. GROUP BY <kolom1> [,<kolom2>] Contoh • untuk menampilkan jumlah anggota perjenis kelamin: SELECT JK, COUNT(*) FROM anggota GROUP BY JK • untuk menampilkan rata-rata harga koleksi per kode penerbit SELECT idPenerbit, AVG(harga) FROM koleksi GROUP BY idPenerbit

  19. HAVING <kondisiAgregate> • 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

  20. BETWEEN • Operator BETWEEN … AND memilih data antaraduanilai. Nilai dapat berupa angka, teks, atau tanggal. • SINTAKS 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’;

More Related