Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

SQL (2) (Structure Query Language)

Presentasi serupa


Presentasi berjudul: "SQL (2) (Structure Query Language)"— Transcript presentasi:

1 SQL (2) (Structure Query Language)
PERTEMUAN 10 SQL (2) (Structure Query Language) Betha Nurina Sari, M.Kom

2 QUERY SELECT Tanda * (asterik)
Dalam perintah select, tanda * digunakan untuk menampilkan data secara keseluruhan (semua field ditampilkan dan urutan field sesuai deskripsi tabel). Contoh : SELECT * FROM MAHASISWA;

3 QUERY SELECT Kondisi Menggunakan operator logika (=,<,>,<=,>=) Range IN (…), BETWEEN …. AND…. Boolean : AND, OR, NOT IS NULL, IS NOT NULL LIKE : kondisi pada karakter Simbol % untuk mengabaikan semua string/karakter simbol _ untuk mencocokkan karakter

4 SELECT …… LIKE Menampilkan data Mahasiswa yang nama depannya diawali huruf M. Menampilkan data mahasiswa yang diketahui hanya nama singkat dalam nama lengkapnya. SELECT * FROM MAHASISWA WHERE Nama LIKE ‘M%’ SELECT * FROM MAHASISWA WHERE Nama LIKE ‘%BUDI%’

5 SELECT …… LIKE Jika menggunakan tipe kolom CHAR, VARCHAR, atau TEXT, maka LIKE bersifat CASE INSENSITIF, artinya huruf besar dan kecil dianggap sama. Namun tipe data binary : BINARY, VARBINARY, atau BLOB, pencarian LIKE bersifat CASE SENSITIF. Contoh : LIKE S% : Kata yang diawali S LIKE S_ : Kata dengan 2 huruf diawali S (Sa,Si,So,dst) LIKE A___: Kata dengan 4 huruf diawali A LIKE %n : Kata yang diakhiri huruf n LIKE %dia% : Kata yang mengandung kata dia (dia, media,kemudian, dst)

6 OPERASI HIMPUNAN Operasi SQL tersebut yaitu: UNION, INTERSECT dan EXCEPT, yang masing-masing memiliki hubungan erat dengan operasi aljabar relasional ,  dan  . Contoh: Terdapat 2 himpunan data, yaitu semua nasabah yang memiliki tabungan dan pinjaman. SELECT nama_nasabah FROM penabung SELECT nama_nasabah FROM peminjam

7 UNION (Gabungan) Untuk menemukan semua nasabah yang memiliki pinjaman, rekening atau keduanya pada suatu bank tertentu, querynya sebagai berikut: OperasiUNION tidak seperti pada klausa SELECT, secara otomatis mengeliminasi duplikat record. (SELECT nama_nasabah FROM penabung) UNION (SELECT nama_nasabah FROM peminjam)

8 UNION (GABUNGAN) Jika ingin mempertahankan adanya duplikasi, maka dapat digunakan operasi UNION ALL sebagai pengganti UNION. (SELECT nama_nasabah FROM penabung) UNION ALL (SELECT nama_nasabah FROM peminjam)

9 IRISAN Untuk menemukan semua nasabah yang memiliki baik rekening maupun pinjaman pada bank, maka dapat digunakan query berikut: Seperti pada operasi UNION, operasi INTERSECT juga mengeliminasi adanya duplikat data. (SELECT [Distinct] nama_nasabah FROM penabung) INTERSECT (SELECT [Distinct] nama_nasabah FROM peminjam)

10 INTERSECT (IRISAN) Jika ingin ditampilkan semua data yang memenuhi, sehingga mempertahankan adanya duplikat data pada record-recordnya, maka dapat digunakan operasi INTERSECT ALL . (SELECT [Distinct] nama_nasabah FROM penabung) INTERSECT ALL (SELECT [Distinct] nama_nasabah FROM peminjam)

11 EXCEPT (PERKECUALIAN)
Untuk menemukan semua nasabah yang memiliki rekening tapi tidak memiliki pinjaman pada suatu bank, maka bentuk query: Seperti pada operasi UNION dan INTERSECT sebelumnya, operasi EXCEPT juga mengeliminasi adanya duplikat data. (SELECT [Distinct] nama_nasabah FROM penabung) EXCEPT (SELECT [Distinct] nama_nasabah FROM peminjam)

12 EXCEPT (PERKECUALIAN)
Jika ingin mempertahankan adanya duplikasi data, maka dapat digunakan operasi EXCEPT ALL. (SELECT [Distinct] nama_nasabah FROM penabung) EXCEPT ALL (SELECT [Distinct] nama_nasabah FROM peminjam)

13 FUNGSI AGREGASI & GROUP BY
Sintaks : AVG,SUM, MIN,MAX, COUNT SELECT [column,] agregation_function(column), ... FROM table [WHERE condition] [GROUP BY column] [ORDER BY column];

14 Fungsi Agregasi Contoh : Menampilkan rata-rata, maksimal, minimal dan jumlah gaji semua karyawan SELECT AVG(salary), MAX(salary), MIN(salary), SUM(salary) FROM employees

15 FUNGSI AGREGASI Contoh : Menampilkan jumlah karyawan di departemen Computer Science. SELECT COUNT(*) FROM employees WHERE department_name = “Computer Science”;

16 FUNGSI AGREGASI & GROUP BY
Contoh menampilkan departement_id dan rata-rata gaji di setiap departemen SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ;

17 HAVING Fungsi GROUP BY dapat dibuat pembatasan dengan fungsi HAVING
Dengan klausa HAVING dapat membatasi group data: 1. Rows (baris-baris) akan di group. 2. Fungsi group dapat diaplikasikan. 3. Menampikan isi Group yang sesuai dengan klausa HAVING.

18 HAVING Contoh : Tampilkan gaji terbesar dari tiap departemen dimana gaji terbesarnya lebih dari 10 juta. SELECT department_id, MAX(salary) FROM employees GROUP BY department_id HAVING MAX(salary)> ;

19 CARTESIAN Kartesian, untuk mendapatkan seluruh kombinasi data dari beberapa tabel Contoh : SELECT * FROM MAHASISWA,MATKUL; SELECT * FROM MAHASISWA M, JADWAL J WHERE M.NPM = J.NPM;

20 CROSS JOIN SELECT * FROM STUDENT CROSS JOIN ENROLMENT Student ID Name
123 John 124 Mary 125 Mark 126 Jane ID Name ID Code 123 John 123 DBS 124 Mary 123 DBS 125 Mark 123 DBS 126 Jane 123 DBS 123 John 124 PRG 124 Mary 124 PRG 125 Mark 124 PRG 126 Jane 124 PRG 123 John 124 DBS 124 Mary 124 DBS Enrolment ID Code 123 DBS 124 PRG 124 DBS 126 PRG SELECT * FROM A CROSS JOIN B Sama dengan SELECT * FROM A, B

21 NATURAL JOIN SELECT * FROM STUDENT NATURAL JOIN ENROLMENT Student
ID Name 123 John 124 Mary 125 Mark 126 Jane ID Name 123 John 124 Mary 126 Jane Code DBS Enrolment ID Code 123 DBS 124 PRG 124 DBS 126 PRG PRG DBS PRG

22 INNER JOIN SELECT * FROM STUDENT INNER JOIN ENROLMENT USING (ID)
ID Name 123 John 124 Mary 125 Mark 126 Jane ID Name ID Code 123 John 123 DBS 124 Mary 124 PRG 124 Mary 124 DBS 126 Jane 126 PRG Enrolment ID Code 123 DBS 124 PRG 124 DBS 126 PRG SELECT * FROM A INNER JOIN B ON <condition> sama dengan SELECT * FROM A, B WHERE <condition>

23 INNER JOIN SELECT * FROM Buyer INNER JOIN Property
ON Price <= Budget Buyer Name Budget Smith 100,000 Jones 150,000 Green 80,000 Name Budget Address Price Smith 100, High St 85,000 Jones 150, High St 85,000 Jones 150, Queen St 125,000 Property Address Price 15 High St 85,000 12 Queen St 125,000 87 Oak Row 175,000

24 TUGAS Tugas kelompok (anggota maksimal 5 orang)
Tuliskan nama kelompok (nama karakter/ tema bebas per kelas) beserta identitas anggota (npm,nama dan kelas). Kelalaian penulisan bagian ini penalti 5 poin. Misalnya nama kelompok berdasarkan kota, pulau, tokoh Tugas dikumpulkan dengan softcopy (pdf), kirim ke Waktu mengerjakan 1 minggu, paling lambat pekan depan dikumpulkan.

25 NEXT ERD


Download ppt "SQL (2) (Structure Query Language)"

Presentasi serupa


Iklan oleh Google