MENAMPILKAN DATA DARI BANYAK TABEL

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

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

Oracle Academic Initiative

Modul 3 : Query Penggabungan Tabel

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

Join Antar Tabel. M. Saefudin SKom, MMSI

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

PERTEMUAN 4 MENAMPILKAN DATA DARI BANYAK TABEL

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

B a s i s D a t a - 1 C H A P T E R SQL OPERASI JOIN. Copyright 2005 PENS-ITS

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

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

TABLE JOIN SQL SERVER 2005

B a s i s D a t a C H A P T E R SQL OPERASI JOIN. Arif Basofi PENS 2015

BASISDATA ( QUERY ANTAR TABEL )

Join Oracle. Rosa Ariani Sukamto Blog: Website:

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

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

Oracle Academic Initiative

M0564-Pengantar Sistem Basisdata 12/ 1

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

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

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

Structured Query Language

Menampilkan Data Dari Beberapa Tabel

SISTEM INFORMASI Marta Lenah Haryan8 Copyright Wondershare So3ware

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

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

Macam - Macam Perintah Pada SQL

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

select d.area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from area d inner join penduduk p on (d.area_id=p.

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

Arsitektur Basis Data Oracle

RENCANA PEMBELAJARAN

Strctured Query Language BASIS DATA

PERTEMUAN 6 SUBQUERY

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom

Praktikum Sistem Basis Data

MODUL 2 PRAKTIKUM SQL TINGAT LANJUT JOIN

Aljabar Relasional. Lecturer: Mahendra Data, S.Kom

Pertemuan 11 Structure Query Language(SQL)

PERTEMUAN 8 PENGATURAN OUTPUT PADA SQL*PLUS

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

RENCANA PEMBELAJARAN SEMESTER

PRAKTIKUM BASIS DATA

BAB III STRUCTURED QUERY LANGUAGE (SQL)

SQL Data Definition Language (DDL)

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

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

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

Basis Data. Bahasa Kueri. Basis Data.

BAB 1 PEMBUATAN REPORT

Assalamualainkum wr wb QUERY. Anna Mukhayaroh

Function pada SQL. Aggregate Functions Scalar functions. Arithmetic functions String functions Date functions

MODUL 4 QUERY, VIEW, DAN ALJABAR RELASIONAL

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

IKG2I4 / Software Project I

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

PERTEMUAN 5 PENGGUNAAN FUNGSI GROUP

Oracle Academic Initiative

Riyanto

STRUCTURE QUERY LANGUAGE DDL & DML

Modul Praktikum III Matakuliah Basis Data 2

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

Menggunakan Set Operators

BASIS DATA ALJABAR RELASIONAL (RELATIONAL ALGEBRA)

BAB III METODOLOGI DAN RANCANGAN PENELITIAN

Oracle Academic Initiative

BAB 4 ALJABAR RELASIONAL

UAS BASIS DATA (A) 2015/2016

BAB 2 LANDASAN TEORI Pengertian DBMS (Database Management System)

Oracle Academic Initiative

UAS BASIS DATA (A) 2015/2016

LATAR BELAKANG IBM San Jose Research Laboratory.

Pertemuan 10 Structure Query Language(SQL)

SQL (STRUCTURED QUERY LANGUAGE)

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

SQL QUERY. Penggunaan Select untuk menampilkan data

Type / Jenis Join di MySQL Private Training Web Development. 9/14/2014

Mahasiswa mampu menjelaskan fungsi data management, business process management dalam suatu perancangan SIM suatu organisasi.

Pertemuan 11. Bahasa Query Terapan Lanjutan

PRAKTIKUM 4 PENGAMBILAN DATA LANJUT

B a s i s D a t a - 1 C H A P T E R. SQL - Basic. Copyright 2005 PENS-ITS

Oracle Academic Initiative

Aljabar Relasional -2

Tutorial Database Oracle Chapter3 Menampilkan Data Menggunakan Perintah SQL SELECT

BAB V. Basis Data Darmawan Satyananda 74

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

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

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

PENGARUH JOIN ORDERING TERHADAP WAKTU RESPON QUERY

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

BASIS DATA I/2009-GENAP ALJABAR RELASIONAL. Oleh Team Teaching Database. 12 Oktober 2011 BASIS DATA I/2009-GENAP 1

PERINTAH SQL DAN INTERKONEKSI PHP-MySQL

BAB 2 : Dasar Penulisan Statemen SQL Sasaran Mengetahui kemampuan dari SQL SELECT Statement Dapat membuat perintah SQL dengan SELECT Statement

Praktikum Basis Data 2017 TE UM

MODUL 1 DATABASE MYSQL

Optimasi Query. Optimasi Perintah SQL Informasi Jalur Akses Query Faktor-faktor yang berpengaruh terhadap kecepatan akses data

3 rd DML : Selection(3)

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

Transkripsi:

BAB 5 MENAMPILKAN DATA DARI BANYAK TABEL TUJUAN BELAJAR: Dapat menulis statement SELECT yang mengakses data ke lebih dari satu tabel dengan menggunakan operator JOIN. Menampilkan data yang tidak memenuhi kondisi JOIN dengan menggunakan operator OUTER JOIN. Melakukan JOIN terhadap tabel itu sendiri (self join). 5.1 PENGGABUNGAN TABEL DENGAN JOIN Perintah SELECT sederhana pada SQL merupakan perintah untuk memilih satu atau lebih kolom yang terdapat pada satu tabel. Kesulitan meningkat adalah ketika perintah SELECT menggunakan tabel sebanyak dua atau lebih tabel sebagai sumber data yang ingin ditampilkan. Hal ini membuat banyak kemungkinan mengenai hasil akhir yang di dapat. Ada dua tipe penggabungan tabel pada perintah SQL: 1. Inner join 2. Outer join Kedua tipe penggabungan tersebut akan dijelaskan secara detail pada bagian di bawah ini. 5.1.1 INNER JOIN Inner join adalah bentuk penggabungan yang paling sering digunakan pada perintah SQL. Inner join dapat diklasifikasikan ke dalam bentuk: 5.1.1.1 Equi-Join Bentuk ini digunakan ketika dua tabel digabungkan berdasarkan kesamaan kolom yang telah ditentukan. Penggunaan equi-join ini sebenarnya sama dengan Cartesian product. Misalnya dari relasi berikut. Student Department Gambar 5.1 Contoh record pada relasi student dan department Apaila kita ingin menampilkan nama siswa beserta nama program studi, dengan melakukan join pada relasi student dan department pada atribut dept_name yang sama-sama ada pada relasi student dan department, maka query equi-join yang kita berikan sebagai berikut: 25

SELECT student.name, department.dept_name FROM student, department WHERE student.dept_name=department.dept_name Gambar 5.2 Hasil equi-join yang berasal dari relasi student dan department 5.1.1.2 Menggunakan JOIN ON Join On merupakan operasi inner join pada dua tabel atau lebih. Pada operasi inner join kita juga bisa menambahkan klausa WHERE. Misalnya kita ingin menampilkan nama siswa beserta nama program studi, dengan melakukan join pada relasi student dan department pada atribut dept_name yang sama-sama ada pada relasi student dan department, dengan syarat hanya nama program studi Accounting yang ditampilkan, maka query equi-join yang kita berikan sebagai berikut: SELECT student.name, department.dept_name FROM student join department ON student.dept_name=department.dept_name WHERE department.dept_name='accounting'; Gambar 5.3 Hasil join on 5.1.1.3 Menggabungkan Lebih Dari Dua Tabel Untuk menggabungkan lebih dari 2 tabel, kita bisa menggunakan query seperti berikut. Misalnya kita ingin menampilkan nama siswa (name), nama program studi (dept_name), dan course_id dengan melakukan join pada relasi student, department dan course, atribut dept_name adalah atribut yang sama-sama ada pada ketiga relasi tersebut. SELECT A.name, B.dept_name, C.course_id FROM student A, department B, course C WHERE A.dept_name=B.dept_name and C.dept_name=B.dept_name 26

Gambar 5.4 Hasil join 3 tabel 5.1.1.4 Cross Join Cross join merupakan penggabungan dari tabel menggunakan metode Cartesian product sederhana, contohnya adalah sebagai berikut. FROM student, department Gambar 5.5 Hasil cross join 5.1.2 OUTER JOIN Outer join merupakan bentuk penggabungan khusus yang digunakan pada perintah SQL. Pada outer join, tabel pertama yang ditentukan pada perintah SQL pada klausa FROM, ditandai sebagai tabel KIRI dan tabel selain itu ditandai sebagai tabel KANAN. Outer join dibagi menjadi tiga tipe yaitu left, right, dan full outer join. 27

Gambar 5.6 Perbedaan tipe outer join 5.1.2.1 LEFT OUTER JOIN Pada left outer join, hasil akhir merupakan perpaduan (union) dari hasil akhir equijoin, termasuk beberapa baris dari tabel KIRI yang tidak cocok. Berikut merupakan contoh query serta pengembaliannya dari left outer join: FROM course left outer join prereq ON course.course_id=prereq.course_id Gambar 5.7 Hasil Left Outer Join 28

5.1.2.2 RIGHT OUTER JOIN Pada right outer join, hasil akhir merupakan perpaduan (union) dari hasil akhir equijoin, termasuk beberapa baris dari tabel KANAN yang tidak cocok. Berikut merupakan contoh query serta pengembaliannya dari right outer join: FROM course right outer join prereq ON course.course_id=prereq.course_id Gambar 5.8 Hasil right outer join 5.1.2.3 FULL OUTER JOIN Pada full outer join, hasil akhir merupakan perpaduan (union) dari hasil akhir equi-join, termasuk beberapa baris dari tabel KANAN dan KIRI yang tidak cocok. Berikut merupakan contoh query serta pengembaliannya dari full outer join: FROM course full outer join prereq ON course.course_id=prereq.course_id Gambar 5.9 Hasil full outer join 5.1.3 SELF JOIN 29

Terkadang sebuah tabel perlu di-join-kan dengan tabel itu sendiri. Pendekatan self join jarang sekali digunakan. Kata kunci self join bisa menggunakan alias, pada relasi takes. FROM takes A join takes B ON A.ID=B.ID and A.course_id=B.course_id WHERE A.ID=10033 and A.course_id=338 and A.year < B.year Contoh query di atas digunakan untuk mencari kuliah dengan course_id 338 yang diambil oleh siswa dengan ID 10033 (tabel takes dengan alias A) dan diambil ulang pada semester/tahun berikutnya (tabel takes dengan alias B). Gambar 5.10 Contoh hasil self join 5.2 LATIHAN 1. Tampilkan semua nama student beserta nama department. 2. Tampilkan semua nama student beserta nama department yang memiliki total SKS (total credit) lebih dari 100. 3. Tampilkan nama student dan nama instructor yang bekerja pada department yang sama 30