Skip to main content

Join di SQL

kakashifull
Sebuah cara memahami dasar join pada SQL.
Buat database dengan relasi berikut: Tambahkan data untuk setiap tabel, contoh datanya:

t_Siswa:
S8564 Jaja Surabaya Bandung 1999-08-16 00:00:00
S9857 Budi Surabaya Sidoarjo 1998-12-15 00:00:00

t_Gaji:
IA 500000.0000
IB 600000.0000
IIA 700000.0000
IIB 800000.0000
IIIA 900000.0000
IIIB 1000000.0000

t_Guru:
G1523 Tuti Surabaya IIA
G5623 Siti Malang IIIB

t_Kelas:
1A 1 G1523
1B 1 NULL
2A 2 NULL
2B 2 G5623
3 3 NULL
4 4 NULL
5 5 NULL
6 6 NULL

t_IsiKelas:
1 2007/2008 1A S8564
2 2007/2008 2B S9857

Setelah itu coba perintah join:

use db_Sekolah

select * from t_Siswa
select * from t_Gaji
select * from t_Guru
select * from t_Kelas
select * from t_IsiKelas

--melihat gaji semua guru
select A.Nama,B.Gaji
from t_Guru as A left join t_Gaji as B on A.Golongan=B.Golongan

--menampilkan nama guru dan jenjang kelas yang diajar
select A.No_Induk,A.Nama,B.Jenjang
from t_Guru as A left join t_Kelas as B on A.No_Induk=B.Guru

--menampilkan daftar kelas dan nama guru
select t_Kelas.Kode_Kelas,t_Kelas.Jenjang,t_Guru.Nama
from t_Kelas left join t_Guru on t_Kelas.Guru=t_Guru.No_Induk

--melihat daftar kelas siswa tahun ajaran 2007/2008
select B.Tahun_Ajaran,A.No_Induk,A.Nama,B.Kode_Kelas
from t_Siswa as A left join t_IsiKelas as B on A.No_Induk=B.Siswa where B.Tahun_Ajaran='2007/2008'

--menampilkan gaji dosen dari setiap kelas
select t_Kelas.Kode_Kelas,t_Kelas.Jenjang,t_Gaji.Gaji
from t_Kelas left join t_Guru on t_Kelas.Guru=t_Guru.No_Induk left join t_Gaji on t_Guru.Golongan=t_Gaji.Golongan

--melihat alamat siswa dan alamat guru pengajarnya
select A.Alamat as Alamat_Siswa, D.Alamat as Alamat_Pengajar
from t_Siswa as A left join t_IsiKelas as B on A.No_Induk=B.Siswa left join t_Kelas as C on B.Kode_Kelas=C.Kode_Kelas left join t_Guru as D on C.Guru=D.No_Induk

Coba jenis-jenis join dengan perintah yang sama, tentu dengan hasil yang berbeda:
- Inner join, Menampilkan rekord yang bersesuaian dari kedua tabel. Intersection kalau dalam istilah himpunan.
- Outer join, Menampilkan rekord yang bersesuaian dan rekord yang belum ditampilkan dari kedua tabel. Union dalam istilah himpunan.
- Left join, menampilkan semua record dari tabel pertama dan menampilkan isi tabel kedua yang bersesuaian dengan kondisi tabel pertama.
- Right join, menampilkan semua rekord tabel kedua dan menampilkan isi tabel pertama yang bersesuaian dengan tabel kedua.

Comments

  1. g jelas, kasih liat result-nya donk,masa teori doank...

    ReplyDelete
  2. lagi males dikasih gambar. mas kan lebih pinter, kenapa tidak membuat querynya sendiri?

    ReplyDelete
  3. outer join sama inner joinnya kasih coNtoh dong PAk!!!!

    ReplyDelete
  4. @Anonim
    Disitu kan sudah ada contoh-contoh join. Coba saja ganti dengan perintah yang lain.
    Misalkan:
    select t_Kelas.Kode_Kelas,t_Kelas.Jenjang,t_Guru.Nama
    from t_Kelas left outer join t_Guru on t_Kelas.Guru=t_Guru.No_Induk

    ReplyDelete
  5. alah mboh mas,,,g mudeng

    ReplyDelete
  6. nyontek nih, bukan karya sendiri

    ReplyDelete
  7. @anonim
    :-) Saya buat ini untuk bahan ngajar di kampus. Agan ini perhatian banget sih

    ReplyDelete
  8. Nice blog you have here thanks for sharing this

    ReplyDelete

Post a Comment

Popular posts from this blog

Pembuatan PDF di PHP dengan FPDF dan HTML2FPDF

Untuk membuat pdf dengan menggunakan php, kita bisa menggunakan fpdf yang berbasis class. Sedangkan html2fpdf digunakan untuk mengubah html menjadi pdf. Dengan hanya menggunakan fpdf, kita harus menentukan semua hal yang mengatur tampilannya berbasis code sesuai dengan aturan dan fungsi yang disediakan class tersebut. Dengan menggunakan html2fpdf, kita cuma perlu membuat sebuah file html dan tampilannya langsung diubah menjadi sebuah file pdf, tentu dengan beberapa keterbatasan dan perubahan tampilan. Saat ini, fpdf terbaru pada versi 1.6 sedangkan html2fpdf versi 3. Instalasi: + Ekstrak file fpdf dan html2fpdf. Sebenarnya html2fpdf merupakan inheritance dari class fpdf, tapi class di fpdf yang disdertakan di paket html2fpdf telah dimodifikasi dari aslinya sesuai dengan kebutuhan konversi tersebut. Class original dari fpdf akan kita pakai untuk pembuatan pdf secara manual, bukan dari html. + Ganti nama file fpdf.php misalkan menjadi fpdf16.php. Karena untuk bebrapa versi instalasi php

Java-MySql: Aplikasi Database dengan Data Gambar (Updated)

Untuk update metode simpan gambar lihat di appGambar 2.0 Bagaimana caranya menyimpan data yang membutuhkan penyimpanan data gambar? Misalkan data pegawai yang membutuhkan penyimpanan gambar dari setiap pegawai. Alternatifnya ada dua, dengan kelebihan dan kekurangan masing-masing. Cara yang pertama adalah dengan membuat field dengan tipe data binary, kemudian menyimpan gambar yang dibutuhkan dalam field di database tersebut. Cara ini membutuhkan manajemen program yang lebih rumit, tapi data gambar akan terjamin, karena tersimpan didalam database yang terintegrasi dengan data lainnya. Kekurangan lainnya adalah ukuran database yang akan membesar dan lambat. Bayangkan saja, sebuah field membutuhkan gambar dengan format jpeg, 200kB. Apabila ada 200 juta record, maka ukuran field yang diperuntukan khusus untuk gambar dengan perhitungan kasar adalah 0.2 MB x 200M = 40 x 10^12 = 40 TB. Belum ditambah dengan ukuran data dari field lainnya, kalau misalkan untuk menyimpan data penduduk Indonesia.

Java: Pengiriman Parameter antar Frame

Sebenarnya konsep ini berlaku bukan hanya pada frame, tapi bisa dilakukan antar object dari class yang sifatnya umum, karena Java yang sifatnya sudah full OOP. Tapi, karena lebih sering diterapkan dalam pemrograman GUI desktop, khususnya dengan Netbeans, maka dicontohkan dengan class javax.swing.JFrame. Setiap bentuk code java harus dibentuk dalam bentuk class, biar sebagaimanapun sederhananya. Tidak seperti pemrograman lainnya yang menggunakan konsep OOP sebagai tambahan dan pengembangan dari yang sudah ada sebelumnya. Itulah sebabnya kita mengenal class di C++, Pascal, PHP, tapi masih diperbolehkan untuk tetap menggunakan konsep primitif. Sedangkan pada kasus java dan .NET, OOP merupakan inti utamanya yang harus selalu diikuti dan diterapkan. Awalnya akan sangat membingungkan, tapi sangat mudah untuk langkah pengembangan selanjutnya. Sudah lihat JavaDoc? itu adalah dokumen pemrograman yang paling aneh didunia, pada pandangan pertama. Coba bandingkan dengan MSDN-nya .NET, PHP Manual,