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

dokumen-dokumen yang mirip
SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

DATA MANIPULATION LANGUAGE

Modul 3 : Query Penggabungan Tabel

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

Join Antar Tabel. M. Saefudin SKom, MMSI

Kegiatan Praktikum Sistem Basis Data Kelompok B

NORMALISASI PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

Praktikum Basis Data 2017 TE UM MODUL 6 SUB QUERY

Pertemuan 11. Bahasa Query Terapan Lanjutan

MENAMPILKAN DATA DARI BANYAK TABEL

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

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

Praktikum Sistem Basis Data

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMPLEKS

MODUL V SUB QUERY & VIEW

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

RENCANA PEMBELAJARAN SEMESTER (RPS) DAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

BAHASA QUERY KOMERSIAL

RENCANA PEMBELAJARAN

Pertemuan 5 : Review Query dengan SQL

TABLE JOIN SQL SERVER 2005

SQL (STRUCTURED QUERY LANGUAGE)

PERTEMUAN 6 SUBQUERY

Riyanto

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

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

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

VIEW : Tabel Virtual VIEW 5/29/2017

Tugas Basis Data Dosen : Khabib Mustofa

TUGAS BASIS DATA DOSEN : KHABIB MUSTOFA

Oracle Academic Initiative

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

SISTEM INFORMASI Marta Lenah Haryan8 Copyright Wondershare So3ware

MODUL 9 VIEW A. TUJUAN B. PETUNJUK C. DASAR TEORI. Praktikum Basis Data 2017 TE UM

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

Rencana Pelaksanaan Pembelajaran

BAHASA QUERY KOMERSIAL

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

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

Strctured Query Language BASIS DATA

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

M0564-Pengantar Sistem Basisdata 12/ 1

Macam - Macam Perintah Pada SQL

Structured Query Language

RENCANA PEMBELAJARAN SEMESTER

MODUL 1 DATABASE MYSQL

PENGANTAR PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

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

MODUL 2 PRAKTIKUM SQL TINGAT LANJUT JOIN

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

Statement DDL Create database drop database Create table drop table alter table

BAB V. Basis Data Darmawan Satyananda 74

Praktikum Basis Data 2017 TE UM

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

Pertemuan 11 Structure Query Language(SQL)

1 Tiftazani Khara Ilmu Komputer UGM 2006 Tiftazani.wordpress.com

Membuat Function, Stored Procedur dan View pada MySQL

Modul Praktikum III Matakuliah Basis Data 2

BAB III STRUCTURED QUERY LANGUAGE (SQL)

PRAKTIKUM BASIS DATA

MENGENAL SYNTAX DML PADA SQL

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

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

MODUL 4 QUERY, VIEW, DAN ALJABAR RELASIONAL


LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

Oracle Academic Initiative

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

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

Join Oracle. Rosa Ariani Sukamto Blog: Website:

MODUL I PENGENALAN MYSQL

MODUL II SQL A. TUJUAN

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 4

PERTEMUAN 10 PEMBUATAN TABEL

SOAL TES KEMAMPUAN LOGIKA PROGRAM STUDI SISTEM INFORMASI TAHUN AJARAN 2013/2014 SEMESTER GANJIL. Tipe Soal I (Satu) TTD NIM Nama Ruang

Problem Solving SQL Kasus : Database Akademik oleh Otniel Yosi V

DAFTAR ISI. DAFTAR ISI... 1 PRAKATA Pengenalan dan Lingkungan Kerja MySQL Tujuan... 4 Dasar Teori... 4 Praktik... 5

MODUL PRAKTIKUM BASIS DATA

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

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

PERTEMUAN 5 PENGGUNAAN FUNGSI GROUP

2 nd DML : Selection(2)

BAB III SISTEM INFORMASI BIMBINGAN STUDI. Fase ini merupakan bagian dari proses perancangan basisdata di dalam

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

MODUL SISTEM BASIS DATA FUNGSI AGREGAT

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

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

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

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

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

STRUCTURE QUERY LANGUAGE ( S Q L ) Jenis SQL 1. Interactive langsung dapat dioperasikan 2. Embedded disisipkan ke dalam sebuah program

STRUCTURE QUERY LANGUAGE ( S Q L )

Praktikum Basis Data 14 Structure Query Language 2

Pertemuan 10. Bahasa Query Terapan

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

MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY)

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

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

Transkripsi:

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011

SubQuery Subquery merupakan bentuk query yang berada dalam query lain atau disebut juga nested query atau subselect. Dengan kata lain, dimungkinkan terdapat statement SELECT di dalam statement SQL lainnya.

Contoh Tampilkan nama mahasiswa dengan angkatan tertua Dengan query SELECT biasa: SELECT nama FROM mahasiswa WHERE angkatan = MIN(angkatan); dalam klausa WHERE tidak boleh ada fungsi AGGREGATE

Contoh Tampilkan nama mahasiswa dengan angkatan tertua Dengan Subquery: SELECT nama FROM mahasiswa WHERE angkatan = ( SELECT MIN(angkatan) FROM mahasiswa);

Latihan 1 Tampilkan nama mahasiswa yang lahir setelah Cici.

Latihan 1 Tampilkan nama mahasiswa yang lahir setelah Cici. SELECT nama FROM mahasiswa WHERE tanggal_lahir > ( SELECT tanggal_lahir FROM mahasiswa WHERE nama = 'Cici' );

Latihan 2 Tampilkan kode dan nama matakuliah yang sksnya lebih besar dari matakuliah dengan kode MMS2401 dan disediakan pada semester yang sama dengan matakuliah Teknik Digital.

Latihan 2 SELECT kode_mata_kuliah,nama FROM mata_kuliah WHERE sks > ( SELECT sks FROM mata_kuliah WHERE kode_mata_kuliah = MMS2401' ) AND semester = ( SELECT semester from mata_kuliah WHERE nama = Teknik Digital );

IN, ANY, ALL, EXISTS Syntax : operand IN (subquery) operand comparison_operator ANY (subquery) operand comparison_operator ALL (subquery) EXISTS (subquery) Comparison_operator : =, >, <, >=, <=, <>,!=, <=>

Contoh 1 Tampilkan nama program studi yang terdapat mahasiswa di dalamnya.

Contoh 1 Tampilkan nama program studi yang terdapat mahasiswa di dalamnya. SELECT nama FROM program_studi WHERE kode_prodi IN (SELECT DISTINCT kode_prodi FROM mahasiswa);

Contoh 2 Tampilkan nama program studi yang tidak punya mahasiswa.

Contoh 2 Tampilkan nama program studi yang tidak punya mahasiswa. SELECT nama FROM program_studi WHERE kode_prodi NOT IN (SELECT DISTINCT kode_prodi FROM mahasiswa);

Contoh 3 Tampilkan data mahasiswa yang berusia lebih muda dari SEMBARANG mahasiswa dengan kode prodi IKP. Data mahasiswa yang ditampilkan yaitu niu, nama, usia, kode prodi.

Contoh 3 SELECT niu, nama, DATEDIFF(NOW(),tanggal_lahir) div 365 AS usia, kode_prodi FROM mahasiswa WHERE tanggal_lahir > ANY( SELECT tanggal_lahir FROM mahasiswa WHERE kode_prodi = 'IKP');

Contoh 4 Tampilkan data mahasiswa yang berusia lebih muda dari SEMUA mahasiswa dengan kode prodi IKP. Data mahasiswa yang ditampilkan yaitu niu, nama, usia, kode prodi.

Contoh 4 SELECT niu, nama, DATEDIFF(NOW(),tanggal_lahir) div 365 AS usia, kode_prodi FROM mahasiswa WHERE tanggal_lahir > ALL( SELECT tanggal_lahir FROM mahasiswa WHERE kode_prodi = 'IKP');

Contoh 5 Tampilkan nama program studi yang terdapat mahasiswa di dalamnya. Sertakan juga kode jurusannya menggunakan EXISTS.

Contoh 5 SELECT nama, kode_jurusan FROM program_studi WHERE EXISTS ( SELECT * FROM mahasiswa WHERE mahasiswa.kode_prodi = program_studi.kode_prodi);

View View merupakan query yang disimpan. Ketika dipanggil, view akan menampilkan hasil query yang disimpan tersebut. View berperan sebagai virtual table.

View Syntax: CREATE [or REPLACE] VIEW view_name AS select_statement ALTER [or REPLACE] VIEW view_name AS select_statement DROP VIEW view_name SELECT * FROM view_name

Contoh CREATE VIEW usia AS SELECT niu, nama, DATEDIFF(NOW(),tanggal_lahir) div 365 FROM mahasiswa; ALTER VIEW usia AS SELECT niu, nama, DATEDIFF(NOW(),tanggal_lahir) div 365 AS usia FROM mahasiswa;

Latihan 1 Buat view untuk menampilkan data mahasiswa yang berisi nama dan nim. Format nim: [kode prodi] - [nif], misal: TEI-3.

Latihan 1 Buat view untuk menampilkan data mahasiswa yang berisi nama dan nim. Format nim: [kode prodi] - [nif], misal: TEI-3. CREATE VIEW namanim AS SELECT nama, CONCAT(kode_prodi,'-',nif) AS nim FROM mahasiswa;

Latihan 2 Ubahlah view pada latihan 1 dengan format nim: [angkatan] / [niu] / [kode prodi] / [nif], misal: 09/1/IKP/1.

Latihan 2 Ubahlah view pada latihan 1 dengan format nim: [angkatan] / [niu] / [kode prodi] / [nif], misal: 09/1/IKP/1. ALTER VIEW namanim AS SELECT nama, CONCAT(SUBSTRING(angkatan,3,2), '/',niu,'/',kode_prodi,'/',nif) AS nim FROM mahasiswa;

Join Digunakan untuk menampilkan data dari banyak tabel (lebih dari satu tabel). Macam-macam join: [INNER CROSS] JOIN {LEFT RIGHT} [OUTER] JOIN NATURAL {LEFT RIGHT} [OUTER] JOIN Dalam MySQL, INNER JOIN = CROSS JOIN INNER JOIN juga dapat diganti dengan koma (,) + klausa WHERE

Contoh INNER JOIN Gabungkan semua data pada tabel mahasiswa dan tabel program studi dengan INNER JOIN SELECT * FROM mahasiswa INNER JOIN program_studi ON mahasiswa.kode_prodi = program_studi.kode_prodi; atau : SELECT * FROM mahasiswa INNER JOIN program_studi USING (kode_prodi);

Contoh LEFT JOIN Gabungkan semua data pada tabel mahasiswa dan tabel program studi dengan LEFT JOIN SELECT * FROM mahasiswa LEFT JOIN program_studi ON mahasiswa.kode_prodi = program_studi.kode_prodi; atau SELECT * FROM mahasiswa LEFT JOIN program_studi USING(kode_prodi);

Contoh RIGHT JOIN Gabungkan semua data pada tabel mahasiswa dan tabel program studi dengan RIGHT JOIN SELECT * FROM mahasiswa RIGHT JOIN program_studi ON mahasiswa.kode_prodi = program_studi.kode_prodi; atau SELECT * FROM mahasiswa RIGHT JOIN program_studi USING(kode_prodi);

Contoh NATURAL JOIN Gabungkan semua data pada tabel jurusan dan tabel program studi dengan NATURAL JOIN SELECT * FROM jurusan NATURAL LEFT JOIN program_studi;

Kesimpulan Dengan klausa ON, INNER JOIN = CROSS JOIN = JOIN. Jika klausa ON diganti dengan klausa WHERE, INNER JOIN = tanda koma (,). Penggunaan klausa USING dapat digunakan untuk menghilangkan redundansi kolom (kolom yang sama). Pada INNER JOIN, data mengikuti operand kiri sedangkan urutan baris mengikuti operand kanan. Pada LEFT JOIN, data dan urutan mengikuti operand kiri. Pada RIGHT JOIN, data dan urutan mengikuti operand kanan.

Kesimpulan Pada NATURAL {LEFT RIGHT} JOIN, tidak perlu digunakan klausa ON, WHERE, atau USING karena kolom yang sama ditampilkan satu kali saja. Pada NATURAL JOIN, yang ditampilkan hanya baris yang memiliki data yang sama pada kolom yang sama. Pada NATURAL LEFT JOIN, urutan kolom mengikuti operand kiri sedangkan data mengikuti operand kanan. Pada NATURAL RIGHT JOIN, urutan kolom mengikuti operand kanan sedangkan data mengikuti operand kiri.

Latihan 1 Tampilkan nama mahasiswa beserta nama matakuliah yang diambil.

Latihan 1 Tampilkan nama mahasiswa beserta nama matakuliah yang diambil. SELECT mahasiswa.nama AS mahasiswa, mata_kuliah.nama AS mata kuliah FROM mahasiswa, krs, mata_kuliah WHERE mahasiswa.niu = krs.niu AND kode_mk = kode_mata_kuliah;

Latihan 2 Tampilkan nama dan nim mahasiswa dengan format nim: [angkatan]/[niu]/[kode fakultas]/[nif], misal : 09/3/PA/3

Latihan 2 SELECT mahasiswa.nama, CONCAT(SUBSTRING(angkatan,3,2), '/', niu, '/', kode_fakultas, '/', nif ) AS nim FROM mahasiswa, program_studi, jurusan WHERE mahasiswa.kode_prodi = program_studi.kode_prodi AND program_studi.kode_jurusan = jurusan.kode_jurusan;

Latihan 3 Tampilkan nama mahasiswa beserta nama program studi, nama jurusan, dan nama fakultas.

Latihan 3 SELECT mahasiswa.nama AS mahasiswa, program_studi.nama AS 'program studi', jurusan.nama AS jurusan, fakultas.nama AS fakultas FROM mahasiswa, program_studi, jurusan, fakultas WHERE mahasiswa.kode_prodi = program_studi.kode_prodi AND program_studi.kode_jurusan = jurusan.kode_jurusan AND jurusan.kode_fakultas = fakultas.kode_fakultas;