Basis Data II. Pertemuan Ke-7 (Union dan Join) Noor Ifada S1 T. Informatika - UTM (2012) 1

dokumen-dokumen yang mirip
Basis Data I. Pertemuan Ke-11 (SQL Part 2) Noor Ifada.

Basis Data II. Pertemuan Ke-6 (Function) Noor Ifada

Basis Data II. Pertemuan Ke-2 (Review Data Manipulation Language [DML]) Noor Ifada

Basis Data II. Pertemuan Ke-8 (Views & Users Authorisation) Noor Ifada S1 Teknik Informatika - Unijoyo 1

Basis Data II. Pertemuan Ke-9 dan ke-10 (Stored Procedure dan Trigger) Noor Ifada S1 T. Informatika - UTM (2012) 1

Basis Data I. Pertemuan Ke-10 (SQL Part 1) Noor Ifada.

MENAMPILKAN DATA DARI BANYAK TABEL

Modul 3 : Query Penggabungan Tabel

TUGAS I VIEWS BASIS DATA II

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

PERTEMUAN 6 SUBQUERY

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

SISTEM INFORMASI Marta Lenah Haryan8 Copyright Wondershare So3ware

1. Buat planing view sesuai kebutuhan topik anda (jelaskan dengan detail masing-masing view yang anda buat)

SQL Data Definition Language (DDL)

Oracle Academic Initiative

M0564-Pengantar Sistem Basisdata 12/ 1

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

SQL LANJUT BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

Strctured Query Language BASIS DATA

RENCANA PEMBELAJARAN

MODUL 8. Sub Query Pada baris dan Kolom PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Arsitektur Basis Data Oracle

Macam - Macam Perintah Pada SQL

Basis Data II. Pertemuan Ke-11 (System Catalog) Noor Ifada S1 Teknik Informatika - Unijoyo 1

LATAR BELAKANG IBM San Jose Research Laboratory.

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek.

Rencana Pelaksanaan Pembelajaran

Oracle Academic Initiative

MODUL 7. Advanced Query : Menampilkan Data Dari Banyak Tabel PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

3 rd DML : Selection(3)

Join Oracle. Rosa Ariani Sukamto Blog: Website:

Praktikum Sistem Basis Data

PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers. (Chap. 5 Ramakrishnan)

Sistem Basis Data; Tutorial Konseptual Oleh : Yakub

Oracle Academic Initiative

MODUL 3 JOIN TABLE. Gambar Model Relasi Basis Data db_mutiara SMK NEGERI 1 CIMAHI REKAYASA PERANGKAT LUNAK

STRUCTURE QUERY LANGUAGE DDL & DML

PERTEMUAN 4 MENAMPILKAN DATA DARI BANYAK TABEL

Teori Himpunan Inner Join; Outer Join. Basdat 2012_Mrs Imana's Materi versi 2

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Basis Data. Bagian IV SQL (2) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

BAB III STRUCTURED QUERY LANGUAGE (SQL)

Pemrograman Basis Data Berbasis Web

B. PETUNJUK. 2. Join. Praktikum Basis Data 2017 TE UM

Pertemuan 11 Structure Query Language(SQL)

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

TABLE JOIN SQL SERVER 2005

SQL (STRUCTURED QUERY LANGUAGE)

PERTEMUAN 5 PENGGUNAAN FUNGSI GROUP

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

Structured Query Language

PERTEMUAN 2 PEMILIHAN DAN PENGURUTAN DATA

MODUL 5. Advanced Query : Pemilihan dan Pengurutan Data PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Kontrak Kuliah. Aljabar Relasi. Edi Sugiarto, S.Kom, M.Kom

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

SUBQUERY-2. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

Oracle Academic Initiative

Oracle Academic Initiative

STRUCTURE QUERY LANGUAGE (SQL)

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

MODUL 4 QUERY, VIEW, DAN ALJABAR RELASIONAL

Untuk menampilkan data-data yang telah tersimpan dalam database diperlukan perintah SELECT, yang dapat dirumuskan sebagai berikut:

Pertemuan 10 Structure Query Language(SQL)

Basis Data 1. Dasar SQL Query. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

Model dan Aljabar Relasional. Rima Dias Ramadhani, S.Kom., M.Kom Wa:

BAB V. Basis Data Darmawan Satyananda 74

Riyanto

Pemrograman Basis Data dan SQL Modul ke: Pemrograman PL/SQL

DATABASE RUMAH SAKIT 1. Objek yang dipakai a. Pasien b. Dokter c. Ruang d. Petugas e. Rawat_inap f. Pembayaran

Oracle Academic Initiative

IKG2I4 / Software Project I

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

Data Manipulation Language (DML)

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Berikut ini akan diberikan contoh-contoh penggunaan fungsi agregasi dalam klausa SQL: Contoh 1 Menampilkan banyaknya record dosen select count ( * )

Basis Data. Bagian IV SQL (1) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Structured Query Language

Perangkat Lunak Pengembangan Web

LAPORAN PRAKTIKUM BASIS DATA MODUL 3 CONDITIONAL SQL MIKA PURNAMASARI NASTADINA

B a s i s D a t a. Tatap MUka. SQL Query & Agregate Function. Arif Basofi PENS

ALJABAR RELASIONAL BA S I S DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

BAB 4 ALJABAR RELASIONAL

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom

Database Systems: Lab. Actvity 3: Fungsi-Fungsi MySql Advance. Pendahuluan. Pendahuluan

Assalamualainkum wr wb QUERY. Anna Mukhayaroh

Deskripsi Tabel Datamart SP

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

MODUL 2 PRAKTIKUM SQL TINGAT LANJUT JOIN

RENCANA PEMBELAJARAN SEMESTER

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

1. Kompetensi Memahami berbagai cara (perintah SQL) yang digunakan untuk mengakses data dari banyak tabel.

Aljabar Relasional -2

Join Antar Tabel. M. Saefudin SKom, MMSI

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi

Tujuan : Praktikan mampu untuk memanipulasi data dan mampu mencari data (Retrieval)

Contoh 3.1: Membuat suatu store procedure supaya menghapus semua pertandingan pemain berdasarkan nomor pemain yang ditentukan.

Strctured Query Language BASIS DATA

Latihan : Sebutkan record berapa saja yang akan ditampilkan berdasarkan perintah berikut :

Transkripsi:

Basis Data II Pertemuan Ke-7 (Union dan Join) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 T. Informatika - UTM (2012) 1

Sub Pokok Bahasan OPERATOR UNION OPERATOR UNION ALL JOIN TYPE: INNER JOIN LEFT JOIN RIGHT JOIN S1 T. Informatika - UTM (2012) 2

OPERATOR UNION UNION = (A ᑌ B) Aturan Penggunaan: klausa SELECT dari seluruh blok select harus memiliki jumlah ekspresi yang sama, dan hasil ekspresi yang akan ditempatkan dalam kolom yang sama dengan hasil ekspresi yang lainnya harus memiliki tipe data yang sama atau masih dapat ditransformasi menjadi tipe data yang sama klausa ORDER BY hanya dapat diletakkan setelah blok select yang terakhir di klausa SELECT tidak boleh mengunakan DISTINCT; SQL secara otomatis akan menghapus duplikasi baris yang memiliki nilai yang sama S1 T. Informatika - UTM (2012) 3

OPERATOR UNION (contd-2) Contoh 1: Cari nomor dan tempat tinggal masing-masing pemain yang berasal dari Inglewood and Plymouth! Urutkan berdasarkan nomor pemain! Catatan: 'berasal dari Inglewood dan Plymouth berarti berasal dari Inglewood atau dari Plymouth. Dengan menggunakan operator UNION: SELECT PLAYERNO, TOWN FROM PLAYERS WHERE TOWN = 'Inglewood' UNION SELECT PLAYERNO, TOWN FROM PLAYERS WHERE TOWN = 'Plymouth' ORDER BY PLAYERNO; Solusi menggunakan operator OR: SELECT PLAYERNO, TOWN FROM PLAYERS WHERE TOWN = 'Inglewood' OR TOWN = 'Plymouth' ORDER BY PLAYERNO; S1 T. Informatika - UTM (2012) 4

OPERATOR UNION (contd-3) Contoh 2: Buatlah daftar dari nomor pemain yang telah melakukan penalti setidaknya sebanyak 1 kali, atau pemain yang menjadi kapten tim atau pemain yang memenuhi kedua kondisi tersebut. Dengan menggunakan operator UNION: SELECT FROM UNION SELECT FROM PLAYERNO PENALTIES PLAYERNO TEAMS; Solusi dengan menggunakan operator OR: SELECT PLAYERNO FROM PLAYERS WHERE PLAYERNO IN (SELECT PLAYERNO FROM PENALTIES) OR PLAYERNO IN (SELECT PLAYERNO FROM TEAMS); S1 T. Informatika - UTM (2012) 5

OPERATOR UNION (contd-4) Contoh 3: Buatlah daftar nomor pemain dan nomor tim dari para pemain yang menjadi kapten tim atau pemain yang pernah bermain minimal 1 kali dalam suatu pertandingan atau pemain yang memenuhi kedua kondisi tersebut! Urutkan berdasarkan nomor pemain dan nomor tim. Dengan menggunakan operator UNION: SELECT PLAYERNO, TEAMNO FROM TEAMS UNION SELECT PLAYERNO, TEAMNO FROM MATCHES ORDER BY PLAYERNO, TEAMNO; Catatan: Untuk permasalahan di atas tidak dapat diselesaikan dengan menggunakan operator OR S1 T. Informatika - UTM (2012) 6

OPERATOR UNION ALL UNION ALL = (A ᑌ B) Perbedaan dengan OPERATOR UNION: Duplikasi baris yang memiliki nilai yang sama tidak dihapuskan Contoh 4: Buatlah daftar dari nomor pemain yang telah melakukan penalti setidaknya sebanyak 1 kali, atau pemain yang menjadi kapten tim atau pemain yang memenuhi kedua kondisi tersebut. Query: SELECT PLAYERNO FROM PENALTIES UNION ALL SELECT PLAYERNO FROM TEAMS; S1 T. Informatika - UTM (2012) 7

JOIN TYPE INNER JOIN OUTER JOIN LEFT JOIN RIGHT JOIN S1 T. Informatika - UTM (2012) 8

INNER JOIN Contoh 5: Untuk masing-masing tim, carilah nomor tim dan nama kaptennya! Solusi menggunakan Equi JOIN : SELECT TEAMNO, NAME FROM PLAYERS P, TEAMS T WHERE P.PLAYERNO = T.PLAYERNO Solusi menggunakan INNER JOIN: SELECT FROM TEAMNO, NAME PLAYERS P INNER JOIN TEAMS T ON (P.PLAYERNO = T.PLAYERNO) S1 T. Informatika - UTM (2012) 9

LEFT/RIGHT JOIN Contoh 6: Untuk masing-masing pemain, buatlah daftar nama dan nomor teleponnya (jika memang terdaftar)! Khusus untuk pemain yang menjadi kapten suatu tim, cantumkan juga nomor timnya dan dan divisinya. Solusi menggunakan LEFT JOIN: SELECT FROM NAME, PHONENO, TEAMNO, DIVISION PLAYERS AS P LEFT JOIN TEAMS AS T ON P.PLAYERNO = T.PLAYERNO Solusi menggunakan RIGHT JOIN: SELECT FROM NAME, PHONENO, TEAMNO, DIVISION TEAMS AS T RIGHT JOIN PLAYERS AS P ON T.PLAYERNO = P.PLAYERNO Solusi menggunakan operator UNION: SELECT FROM WHERE UNION SELECT FROM WHERE NAME, PHONENO, TEAMNO, DIVISION PLAYERS AS P, TEAMS AS T P.PLAYERNO = T.PLAYERNO NAME, PHONENO, NULL, NULL PLAYERS PLAYERNO NOT IN (SELECT PLAYERNO FROM TEAMS); S1 T. Informatika - UTM (2012) 10

LEFT/RIGHT JOIN (contd-2) Contoh 7: Untuk seluruh pemain, buatlah daftar nomor pemain, total banyaknya penalti yang telah mereka lakukan dan total jumlah penalti yang harus mereka bayar! Dengan menggunakan operator UNION: SELECT PLAYERNO, COUNT(*) AS NUMBER_of_PENALTIES, SUM(AMOUNT) AS TOTAL_PENALTIES FROM PENALTIES GROUP BY PLAYERNO UNION SELECT PLAYERNO, 0, 0.00 FROM PLAYERS WHERE PLAYERNO NOT IN (SELECT PLAYERNO FROM PENALTIES) ORDER BY 2 DESC; Solusi dengan JOIN: SELECT P.PLAYERNO, COUNT(PAYMENTNO) AS NUMBER_of_PENALTIES, IFNULL (SUM(AMOUNT), 0.00) AS TOTAL_PENALTIES FROM PLAYERS AS P LEFT OUTER JOIN PENALTIES AS PEN ON P.PLAYERNO = PEN.PLAYERNO GROUP BY P.PLAYERNO ORDER BY 2 DESC; S1 T. Informatika - UTM (2012) 11

Cartesian Product CARTESIAN PRODUCT S1 T. Informatika - UTM (2012) 12

SELECT TEAMNO, NAME FROM TEAMS INNER JOIN PLAYERS ON (TEAMS.PLAYERNO = PLAYERS.PLAYERNO) S1 T. Informatika - UTM (2012) 13

KAPAN MENGGUNAKAN: UNION JOIN? S1 T. Informatika - UTM (2012) 14

Populasi EQUAL Tabel PLAYERS PLAYERNO TOWN 6 Stratford 44 Inglewood 104 Elthan Hasil INNER JOIN: PLAYERNO TOWN AMOUNT 6 Stratford 100 44 Inglewood 75 44 Inglewood 25 44 Inglewood 30 104 Elthan 50 SELECT FROM Tabel PENALTIES PLAYERNO AMOUNT 6 100 44 75 44 25 44 30 104 50 P.PLAYERNO, TOWN, AMOUNT PLAYERS P INNER JOIN PENALTIES PE ON (P.PLAYERNO = PE.PLAYERNO) S1 T. Informatika - UTM (2012) 15

Populasi SUBSET Tabel PLAYERS PLAYERNO TOWN 6 Stratford 44 Inglewood 104 Elthan Hasil INNER JOIN: PLAYERNO TOWN AMOUNT 6 Stratford 100 104 Elthan 50 44 Inglewood 0 PLAYERNO TOWN AMOUNT 6 Stratford 100 104 Elthan 50 SELECT FROM Hasil UNION atau OUTER JOIN (LEFT/RIGHT): Tabel PENALTIES PLAYERNO AMOUNT 6 100 104 50 P.PLAYERNO, TOWN, AMOUNT PLAYERS P LEFT JOIN PENALTIES PE ON (P.PLAYERNO = PE.PLAYERNO) SELECT P.PLAYERNO, TOWN, AMOUNT FROM PLAYERS P, PENALTIES AS PE WHERE P.PLAYERNO = PE.PLAYERNO UNION SELECT PLAYERNO, TOWN, 0 FROM PLAYERS WHERE PLAYERNO NOT IN (SELECT PLAYERNO FROM PENALTIES) S1 T. Informatika - UTM (2012) 16

Populasi CONJOINT Tabel PLAYERS PLAYERNO TOWN 6 Stratford 44 Inglewood 104 Elthan Hasil INNER JOIN: PLAYERNO TOWN AMOUNT 6 Stratford 100 104 Elthan 50 Hasil UNION: PLAYERNO TOWN AMOUNT 6 Stratford 100 104 Elthan 50 44 Inglewood 0 8? 25 Tabel PENALTIES PLAYERNO AMOUNT 6 100 104 50 8 25 SELECT P.PLAYERNO, TOWN, AMOUNT FROM PLAYERS P, PENALTIES AS PE WHERE P.PLAYERNO = PE.PLAYERNO UNION SELECT P.PLAYERNO, TOWN, 0 FROM PLAYERS WHERE PLAYERNO NOT IN (SELECT PLAYERNO FROM PENALTIES) UNION SELECT P.PLAYERNO, NULL, AMOUNT FROM PENALTIES WHERE PLAYERNO NOT IN (SELECT PLAYERNO FROM PLAYERS) S1 T. Informatika - UTM (2012) 17

Populasi DISJOINT Tabel PLAYERS PLAYERNO TOWN 6 Stratford 44 Inglewood 104 Elthan Hasil UNION: PLAYERNO TOWN AMOUNT 6 Stratford 0 44 Elthan 0 104 Eeltham 0 27-100 8-25 27-75 Tabel PENALTIES PLAYERNO AMOUNT 27 100 8 25 27 75 SELECT P.PLAYERNO, TOWN, 0 AS AMOUNT FROM PLAYERS UNION SELECT PLAYERNO, '-', AMOUNT FROM PENALTIES S1 T. Informatika - UTM (2012) 18

KAPAN MENGGUNAKAN: UNION JOIN? CEK RELASI ANTARA TABEL/KOLOM YANG AKAN DI-JOIN! S1 T. Informatika - UTM (2012) 19

T1 C T2 C T3 C T4 C 1 2?? 2 3 2 2 3 4 3 Cobalah tentukan hasil dari query berikut: 1. SELECT T1.C, T2.C FROM T1 INNER JOIN T2 ON (T1.C = T2.C) 2. SELECT T1.C, T2.C FROM T1 LEFT JOIN T2 ON (T1.C = T2.C) 3. SELECT T1.C, T2.C FROM T1 RIGHT JOIN T2 ON (T1.C = T2.C) 4. SELECT T1.C, T3.C FROM T1 RIGHT JOIN T3 ON (T1.C = T3.C) 5. SELECT T1.C, T3.C FROM T1 LEFT JOIN T3 ON (T1.C = T3.C) 6. SELECT T3.C, T4.C FROM T3 LEFT JOIN T4 ON (T3.C = T4.C) 7. SELECT T3.C, T4.C FROM T3 RIGHT JOIN T4 ON (T3.C = T4.C) S1 T. Informatika - UTM (2012) 20