Perintah MySQL untuk Menampilkan Data dari Beberapa Tabel

Di dalam suatu RDBMS termasuk MySQL, tentunya sudah menjadi suatu kewajaran jika dalam satu database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut dapat berhubungan (berelasi) satu sama lain. Relasi antar-tabel dapat berupa relasi 1-1 (one-to-one), 1-M (one-tomany), atau M-N (many-to-many). Sebagai contoh terlihat pada gambar pemodelan data konseptual (class diagram) di bawah ini. Tabel pelanggan berhubungan dengan pesan, pesan dengan barang, dsb. Pada pembuatan suatu aplikasi, terkadang kita juga memerlukan tampilan data yang tidak hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel sekaligus. Contohnya, dari class diagram di bawah, kita ingin menampilkan nama pelanggan berikut transaksi yang pernah dilakukannya. Dari contoh tersebut, kita harus bisa menggabungkan minimal dua tabel, yaitu pelanggan dan pesan. Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk perintah JOIN. Dalam tutorial ini, akan dijelaskan secara bertahap mengenai bagaimana menggabungkan dua tabel atau lebih, terutama untuk menampilkan data yang berasal dari beberapa tabel. Contoh-contoh dalam tutorial ini secara khusus telah dicoba di database MySQL, namun demikian secara umum perintah penggabungan tabel di semua jenis database tidak jauh berbeda alias sama. Sebelum belajar mengenai perintah penggabungan tabel, perlu dipersiapkan tabel-tabel yang akan dijadikan sebagai bahan latihan dan contoh dalam tutorial ini. Kita akan menggunakan tabel rancangan sistem pemesanan barang (pembelian) sederhana berikut ini. Untuk membuatnya, Anda dapat menggunakan tools seperti PHPMyAdmin dan MySQLFront atau dapat juga melalui command-prompt. Jika diperlukan, pelajari kembali postingan saya sebelumnya mengenai administrasi database MySQL dengan PHPMyAdmin dan juga dasar-dasar perintah SQL. Jangan lupa isikan beberapa contoh data ke tabel-tabel yang sudah Anda buat.

Contoh Class Diagram Sistem Pembelian
1. Inner Join

Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi). Misalkan isi tabel pelanggan dan pesan adalah sebagai berikut : Tabel pelanggan (hanya ditampilkan field id_pelanggan, nm_pelanggan dan email)

Contoh isi tabel pelanggan Tabel pesan.

Contoh isi tabel pesan Cara #1. Inner Join dengan WHERE. Penggabungan dengan klausa WHERE memiliki bentuk umum sebagai berikut:
SELECT tabel1.*, tabel2.* FROM tabel1, tabel2 WHERE tabel1.PK=tabel2.FK;

Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan, pesan WHERE pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasilnya sebagai berikut:

Hasil Penggabungan 2 Tabel dengan WHERE Pada hasil perintah query di atas terlihat bahwa terdapat 5 (lima) transaksi yang dilakukan oleh 3 (tiga) orang pelanggan. Jika kita lihat kembali isi tabel pelanggan di atas, maka terdapat satu pelanggan yang tidak ditampilkan yaitu yang memiliki id pelanggan P0003. Pelanggan tersebut tidak ditampilkan karena belum pernah melakukan transaksi. Cara #1. Inner Join dengan klausa INNER JOIN.

Berikut ini bentuk umumnya:
SELECT tabel1.*, tabel2.* FROM tabel1 INNER JOIN tabel2 ON tabel1.PK=tabel2.FK;

Dan berikut ini perintah SQL penggabungan tabel pelanggan dan pesan.
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan INNER JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasilnya akan sama dengan gambar di atas (cara #1).
2. Outer Join

Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data yang NULL (kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi). Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT JOIN. Berikut ini bentuk umum dan contohnya: LEFT JOIN. Bentuk umum:
SELECT tabel1.*, tabel2.* FROM tabel1 LEFT JOIN tabel2 ON tabel1.PK=tabel2.FK;

Contoh perintah SQL:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan LEFT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasilnya:

RIGHT JOIN Bentuk umum: SELECT tabel1. Dan pada kolom id_pesan dan tgl_pesan untuk pelanggan P0003 isinya NULL. tabel2.id_pelanggan. artinya di tabel kanan (pesan) pelanggan tersebut tidak ada.Hasil Perintah Left Join Berbeda dengan hasil sebelumnya (inner join).PK=tabel2.id_pesan.*. penggunaan left join akan menampilkan juga data pelanggan dengan id P0003.id_pelanggan=pesan. Hasilnya: Hasil Perintah Right Join .tgl_pesan FROM pelanggan RIGHT JOIN pesan ON pelanggan. Contoh perintah SQL: SELECT pelanggan.nm_pelanggan.FK. pesan.* FROM tabel1 RIGHT JOIN tabel2 ON tabel1. pesan. pelanggan. walaupun pelanggan tersebut belum pernah bertransaksi.id_pelanggan.

sedemikian sehingga hasilnya menjadi sebagai berikut: . Sebagai contoh misalnya kita akan menampilkan barang-barang yang dipesan beserta nama barang dan harganya untuk pemesanan dengan nomor 1.Dengan right join. pada dasarnya sama dengan penggabungan 2 (dua) tabel. maka isi tabel pesan tetap ditampilkan. Jika data pelanggan tidak ada di tabel pelanggan. Menggabungkan 3 Tabel atau Lebih Untuk menggabungkan tiga tabel atau lebih. tabel yang menjadi acuan adalah tabel sebelah kanan (tabel pesan). jadi semua isi tabel pesan akan ditampilkan.

Dalam bahasa prosedural. Operasi-operasi dasar dalam aljabar relasional adalah : select. user menginstruksikan ke sistem agar membentuk serangkaian operasi dalam basis data untuk mengeluarkan hasil yang diinginkan. Dalam bahasa non-prosedural. Argumen diberikan dalam tanda kurung yang mengikuti σ dan berisi tabel relasi yang dimaksud. yaitu Pengenalan Model Data Relasional. Hasil dari operasi diatas adalah : 10296832 10296832 KK021 KD132 60 40 75 30 . Bahasa query dapat dikategorikan sebagai prosedural & non-prosedural. dan cartesian product. Tabel relasi yang digunakan pada bahasan ini akan menggunakan tabel sebelumnya. division dan theta join. Bahasa yang dipakai pada model relasional disebut dengan bahasa query. user mendeskripsikan informasi yang diinginkan tanpa memberikan prosedur detail untuk menghasilkan informasi tersebut. project. Disamping operasi-operasi dasar terdapat beberapa operasi tambahan seperti set intersection. sedangkan kalkulus relasional tupel dan kalkulus relasional domain adalah non-prosedural. Bahasa pada Model Data Relasional Menyambung bahasan sebelumnya. • Aljabar Relasional Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut. natural join. Contoh penggunaan operasi select : σNPM = 10296832(NILAI) Perintah diatas berarti memilih tupel-tupel dari tabel NILAI yang memiliki atribut NPM bernilai 10296832. union. set difference. Bahasa Query adalah suatu bahasa yang menyediakan fasilitas bagi user untuk mengakses informasi dari basis data. Predikat muncul sebagai subscript dari σ dan kondisi yang diinginkan yang ditulis dalam predikat. Operasi-operasi Dasar Select Operasi select berfungsi untuk menyeleksi tuple-tuple yang memenuhi predikat yang diberikan dari sebuah tabel relasi.Aljabar Relasional. Aljabar relasional merupakan bahasa query prosedural. Simbol sigma “σ” digunakan untuk menunjukkan operasi select. Pada umumnya level bahasa ini lebih tinggi dari bahasa pemrograman standar. sekarang akan dibahas mengenai bahasanya.

SKS(MKUL) Perintah diatas berarti memilih nilai atribut KDMK dan SKS dari tabel MKUL. Contoh penggunaan operasi union : Misalkan terdapat 2 tabel relasi bernama ASLABSI dan ASLABTI seperti dibawah : ASLABSI NPM 10107591 10107971 18108012 Nama Eko Putra Keque Irfan Riza Rulham Kelas 3KA07 3KA07 3KA07 ASLABTI NPM Nama Kelas .- Project Operasi project berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah tabel relasi. Operasi union bernilai benar bila terpenuhi 2 kondisi. Simbol phi “Π” digunakan untuk menunjukkan operasi project. Hasil dari operasi diatas adalah : KK021 KD132 KU122 2 3 2 - Union Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel relasi dengan nilai atribut dari tabel relasi lainnya. Simbol “∪” digunakan untuk menunjukkan operasi union. Argumen diberikan dalam tanda kurung yang mengikuti Π dan berisi tabel relasi yang dimaksud. Contoh penggunaan operasi project : Π KDMK. Predikat muncul sebagai subscript dari Π dan hanya nama atribut yang diinginkan yang ditulis dalam predikat. yaitu : Derajat dari 2 tabel relasi yang dioperasikan harus sama dan domain dari atribut yang dioperasikan juga harus sama.

Simbol “-“ digunakan untuk menunjukkan operasi set difference. Hasil dari operasi diatas adalah : Eko Putra Keque Irfan M. Ali Nurdin Riza Rulham Soli Kurniawan Perhatikan bahwa nama Riza Rulham hanya muncul sekali pada hasil operasi. tapi tidak terdapat di tabel ASLABTI. Ali Nurdin Riza Rulham Soli Kurniawan 3KA07 3KA07 3KA07 dan dari 2 tabel relasi diatas dilakukan operasi union sebagai berikut : Π Nama(ASLABSI) ∪ Π Nama(ASLABTI) Perintah diatas berarti menggabungkan hasil dari operasi project terhadap tabel ASLABSI dengan hasil dari operasi project terhadap tabel ASLABTI. Hasil dari operasi diatas adalah : Eko Putra Keque Irfan - Cartesian Product . Set Difference Operasi set difference berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi. ini karena relasi adalah set sehingga nilai duplikat dihilangkan. tapi tidak ada dalam tabel relasi lainnya. Contoh penggunaan operasi set difference : Π Nama(ASLABSI) – Π Nama(ASLABTI) Perintah diatas berarti mendapatkan nilai atribut Nama yang terdapat di tabel ASLABSI.11107891 18108012 11107611 M.

Basis Data SIM Pancasila 2 3 2 2 3 2 2 3 2 Operasi-operasi Tambahan Set Intersection Operasi set intersection berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi dan juga ada dalam tabel relasi lainnya. Contoh penggunaan operasi set intersection : Π Nama(ASLABSI) ∩ Π Nama(ASLABTI) Perintah diatas berarti mendapatkan nilai atribut Nama yang terdapat di tabel ASLABSI dan juga terdapat di tabel ASLABTI. Simbol “x“ digunakan untuk menunjukkan operasi set difference. Hasil dari operasi diatas adalah : 11107891 11107891 11107891 18108012 18108012 18108012 11107611 11107611 11107611 M. Ali Nurdin M.Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada dalam 2 tabel relasi dan menghasilkan sebuah tabel relasi yang baru. Basis Data SIM Pancasila P. Simbol “∩“ digunakan untuk menunjukkan operasi set intersection. Hasil dari operasi diatas adalah : Riza Rulham . Ali Nurdin Riza Rulham Riza Rulham Riza Rulham Soli Kurniawan Soli Kurniawan Soli Kurniawan 3KA07 3KA07 3KA07 3KA07 3KA07 3KA07 3KA07 3KA07 3KA07 KK021 KD132 KU122 KK021 KD132 KU122 KK021 KD132 KU122 P. Contoh penggunaan operasi cartesian product : ASLABTI x MKUL ⟹ tabel relasi baru Perintah diatas berarti mengkombinasikan seluruh tupel yang ada pada tabel ASLABTI dengan tabel MKUL. Ali Nurdin M. Basis Data SIM Pancasila P.

Simbol “÷“ digunakan untuk menunjukkan operasi division.KDMK. Operasi natural join hanya menghasilkan tupel yang mempunyai nilai yang sama pada 2 atribut yang bernama sama pada 2 tabel relasi yang berbeda. BRANCH.MID(MHS ⋈ NILAI) Perintah diatas berarti mendapatkan nilai dari operasi project dengan predikat NPM. Hasil dari operasi diatas adalah : 10296832 10296832 10296126 31296500 41296525 50096487 21196353 KK021 KD132 KD132 KK021 KU122 KD132 KU122 60 40 70 55 90 80 75 - Division Operasi division berfungsi untuk query yang memasukkan frase “untuk semua/seluruh”. KDMK. Contoh penggunaan operasi natural join : Π NPM. dan MID dan argumen hasil dari operasi natural join antara tabel MHS dengan tabel NILAI. Contoh penggunaan operasi division : Misalkan terdapat 3 tabel relasi bernama ACCOUNT.- Natural Join Operasi natural join memungkinkan kita untuk menggabungkan operasi select dan cartesian product menjadi hanya 1 operasi saja. Simbol “⋈“ digunakan untuk menunjukkan operasi natural join. dan DEPOSITOR seperti dibawah : .

Operasi theta join merupakan ekstensi dari natural join.dan dari 3 tabel relasi diatas dilakukan operasi division sebagai berikut : Π customer-name. =. >. .branch-name(DEPOSITOR ⋈ ACCOUNT) ÷ Π branch-name(σbranch-city=”Brooklyn”(BRANCH)) Dengan asumsi operasi project awal adalah relasi r1 dan akhir adalah r2. <. Hasil dari operasi diatas adalah : Johnson - Theta Join Operasi theta join berfungsi jika kita ingin mengkombinasikan tupel dari 2 tabel relasi dimana kondisi dari kombinasi tersebut tidak hanya kesamaan nilai dari 2 atribut bernama sama. perintah diatas berarti mendapatkan nama pelanggan yang muncul pada hasil relasi r2 untuk semua nama cabang hasil relasi r1. ≥). tetapi kondisi yang diinginkan juga bisa menggunakan operator relasional (≤.

cartesian product. dan rename. karena operasi-operasi tersebut hanya memerlukan satu relasi. dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru. set difference dan cartesian product memerlukan sepasang relasi. project dan rename disebut operasi unary. 28 Mei 2009 di 11:21 | Diposkan oleh MAHASISWA CHEATER Bahasa BasisData adalah bahasa yang digunakan untuk komunikasi antara user dengan DataBase. natural join. bahasa ini juga bisa disebut bahasa QUERY Ada 2 Jenis DML: 1. • Operasi lainnya antara lain: set intersection. Bahasa Basis Data Dibagi menjadi 2 yaitu: 1. • Operasi-operasi dasar dalam aljabar relational.adalah: select. disebut operasi binary. set difference. • Operasi-operasi union. project.MataKuliah ALJABAR RELASIONAL Kamis. union. Non Prosedural -> user menentukan data apa yang diinginkan tanpa menyebutkan bgmn mendapatkannya -> KALKULUS RELATIONAL TUPLE Defenisi Aljabar Relational • Adalah kumpulan operasi terhadap relasi. Prosedural -> Mensyaratkan user menentukan data apa yg diinginkan serta bgmn cr mendapatkannya -> AJABAR RELASIONAL (Bhs query yg didasarkan pd operasi aljabar disebut BHS QUERY yg PROSEDURAL) 2. division dan assignment • Operasi-operasi select. Operasi-Operasi Aljabar Relational • Fundamental . DML -> Bahasa yang digunakan untuk mengakses data. DDL -> dengan bahasa ini kita bisa membuat tabel 2.

– Unary operators • Selection • projection • rename – Binary operators (union compatibilty) • union • set difference • Cartesian product • Additional – rename – intersection – join – quotient (division) Selection • Operasi Select ( σ = sigma ) • Operasi Select menyeleksi tuple-tuple pada sebuah relation yaitu tuple-tuple yang memenuhi syarat yang sudah ditentukan sebelumnya. ditulis : . • Bentuk umum : σ () • Dimana σ = select operator = operasi boolean Jika untuk menyeleksi tuple-tuple dari relasi Hutang dimana nama cabangnya adalah “Jakarta”.

maka operasi ini digunakan untuk memilih sejumlah kolom tertentu dari tabel.σ nama-cabang = “Jakarta” (Hutang) Maka hasilnya : Project • Operasi Project ( π = phi ) Operator projection beroperasi pada sebuah relation. yaitu membentuk relation baru dengan mengcopy atribute-atribute dan domain-domain dari relation tersebut berdasarkan argumenargumen pada operator tsb. maka dapat dituliskan : π nama-cabang. • Dengan memandang relasi sebagai tabel. • Bentuk umum : • π () • Contoh : untuk menampilkan seluruh Cabang dan jumlah tanpa Nomor Pinjaman. jumlah (hutang) Maka hasil query nya adalah: .

• Mengakibatkan semua record di E1 akan dipasangkan dengan semua record di E2.Tabel Acuan Cartesian Product • Operasi Cartesian-product disimbolkan dengan “ X “. • Operasi ini umumnya digunakan bersama dengan Seleksi atau Projeksi. . E1 X E2 = E2 X E1 • Untuk menggabungkan data dari 2 tabel/lebih atau menggabungkan hasil query.

• Contoh : Jika diinginkan nama-nama dari semua nasabah yang mempunyai pinjaman (loan) di bank cabang Jakarta.Tabel Index Nilai . Misal Tabel Mahasiswa dan Nilai yang memiliki field yg sama = NIM.• Penggabungan dilakukan antara tabel yg memiliki keterhubungan (ditandai dgn adanya field yg sama).Tabel Mahasiswa . maka query-nya ditulis : σnama-cabang = “Jakarta” (borrower x loan) • Hasilnya ??? CONTOH .

Tampilkan informasi barang yang mempunyai kode barang (KD_BRG) = B004 dalam perintah aljabar relasional ! Jawab : σ KD_BRG = “B004″ (BARANG) C. jadi tabel supplier ada 4 derajat B. Tampilkan nama supplier yang beralamat di Jakarta dengan menggunakan perintah aljabar relasional ! Jawab : σ NAMA_SUPP = σ ALAMAT = “JAKARTA” (SUPPLIER) 2. 2011 1. Tampilkan nama barang yang huruf pertamanya adalah “S” ! jawab :SELECT NM_BRG .ALJABAR RELASIONAL Posted on January 11. A. Gunakan statement SQL dalam menjawab soal-soal dibawah ini : A. Berapa derajat (degree) dari tabel SUPPLIER ? Jawab: Degree adalah jumlah atribut.

Hapus data transaksi barang yang jumlah transaksinya kurang dari 10 Jawab : DELETE FROM TRANSAKSI WHERE JML_TRANS < 1 . Tampilkan kode barang dan nama barang yang disupply oleh supplier dengan status non aktif. NM_BRG FROM BARANG WHERE KD_SUPP = “028″ C. Jawab : SELECT KD_BRG .FROM BARANG WHERE NM_BRG LIKE ‘S%’ B.

4)Tampilkan semua nama tanggungan dari masing-masing pegawai yang bekerja di departemen Keuangan 5)Tampilkan nama manajer dari departemen yang sedang mengerjakan proyek dengan kode_proyek = P501 Tabel untuk bisa menjawab pertanyaa di atas: .000 sampai 2.000. 2)Tampilkan nama dan gaji manajer di tiap departemen beserta nama dari departemen yang dipimpinnya 3)Tampilkan nama dan gaji pegawai yang mengerjakan proyek yang berlokasi di Jakarta.000 yang bekerja di departemen ‘Keuangan’.000.1)Tampilkan nama pegawai dengan gaji antara 1.

terdiri dari Restrict. Project. Operasi tradisional a) Union U A U B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B. Operasi tradisional. dan Cartesian Product. Difference. Relasi Aljabar Union • Relasi Tabel A . Codd mendefinisikan operator relasi aljabar terdiri dari delapan operator. Intersection.RELASI : Relasi Aljabar Operasi aljabar terdiri dari himpunan operator level tinggi yang dioperasikan pada suatu relasi. Join. dimana terdiri dari himpunan semua tuples yang terdapat pada A atau B atau kedua-duanya. Setiap operator menggunakan satu atau dua relasi sebagai input dan menghasilkan relasi baru sebagai output. Operasi relasional khusus. dan Devide 1. terdiri dari Union. 2. terbagi menjadi dua kelompok : 1.

dimana terdiri dari himpunan semua tuples yang terdapat pada A dan B.S S1 S4 SNAME Aris Eko STATUS 20 20 CITY Semarang Semarang • Relasi Tabel B S S1 S2 SNAME Aris Heni STATUS 20 10 CITY Semarang Jakarta • Hasil Relasi A U B S S1 S2 S4 SNAME Aris Eko Heni STATUS 20 20 10 CITY Semarang Semarang Jakarta b) Intersect ∩ A∩B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B. .

. tetapi tidak terdapat pada B.Relasi Aljabar Intersect Hasil A∩B S S1 SNAME Aris STATUS 20 CITY Semarang c) Difference (MINUS) A MINUS B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B. dimana terdiri dari himpunan semua tuples yang terdapat pada A.

.Relasi Aljabar Difference Relasi baru A MINUS B : S S4 SNAME Eko STATUS 20 CITY Semarang B MINUS A S S2 SNAME Heni STATUS 10 CITY Jakarta d) Cartesian Product ( / TIMES) A TIMES B adalah relasi yang terdiri dari semua himpunan tuples untuk setiap elemen relasi pada A dikombinasikan dengan semua elemen pada relasi B.

Relasi Aljabar Cartesian Product ( / TIMES) A TIMES B A S S1 S1 S4 S4 A SNAME Aris Aris Eko Eko A STATUS 20 20 20 20 A CITY Semarang Semarang Jakarta Jakarta B S S1 S2 S1 S2 B SNAME Aris Heni Aris Heni B STATUS 20 10 20 10 Contoh Cartesian Product .

.

.

Restriction (σ) .2. Operasi Relasional Khusus a.

Projection (π) ekstraksi terhadap suatu atribut (kolom) pada suatu relasi yang memenuhi kondisi tertentu.♣ .Ekstraksi terhadap suatu tuples (baris) pada suatu relasi yang memenuhi kondisi tertentu.♣ A WHERE CITY = ‘Semarang’ S S1 S4 SNAME Aris Eko STATUS 20 20 CITY Semarang Semarang b.♣ Kondisi untuk relasi. direpresentasikan menggunakan klausa WHERE dan dapat dikombinasikan dengan operator logika dan/atau matematika.

Natural Join (JOIN) membentuk relasi dari dua relasi yang terdiri dari semua kemungkinan kombinasi tuples.♣ Relasi Aljabar : Natural Join . dimana tuples pada relasi yang kedua memenuhi suatu kondisi tertentu (memiliki nilai atribut yang sama).Relasi Aljabar : Projection (π) S S1 S4 SNAME Aris Eko c.

maka A JOIN B adalah ekuivalen dengan A TIMES B.Jika suatu relasi yang tidak memiliki atribut yang memenuhi kodisi (memiliki nilai sama). Natural Join .

Devide (DEVIDEBY) A DEVIDEBY B adalah relasi dengan heading (X) dan terdiri dari himpunan semua tuples (X : x) dari tuples (X : x.d.♣ Relasi Aljabar : Devide (DEVIDEBY) . Y : y) pada relasi A untuk semua tuples (Y : y) pada relasi B.

.

FNAME. σ (DNO=4 AND SALARY>40000) OR (FNAME = ‘James’) (EMPLOYEE) Jawab : Maka akan menampilkan departemen 4 dan gaji lebih dari 40000. Menampilkan semua data pegawai untuk departemen 4 dan gaji lebih dari 25000 Jawab : σ DNO=4 AND SALARY > 25000 (EMPLOYEE) 3. π LNAME. Modul 7 EMPLOYEE 1. SALARY (EMPLOYEE) . 5. Menampilkan semua data pegawai yang dimiliki oleh ‘Alicia’ dan ‘Ramesh’ Jawab : σ FNAME= ’Alicia’ AND FNAME=’Ramesh’ (EMPLOYEE) 2. atau data pegawai dengan nama ‘James’. Menampilkan semua data pegawai untuk departemen 5 dan gaji lebih dari 30000 Jawab : σ DNO=5 AND SALARY > 30000 (EMPLOYEE) 4.Aljabar Relasional dan SQL Basic 6 Desember 2007 Filed under: IT — onisuya @ 5:33 am Berikut adalah contoh kasus dalam Database yang menggunakan Aljabar Relasional dan SQL Basic.

FNAME dan SALARY. π LNAME.Jawab : Maka akan menampilkan semua isi dari atribut LNAME. STUDENT U INSTRUKTUR Jawab : Akan menggabungkan entiti instruktur dan student dengan penghilangan baris duplikat. FNAME. FN LN . lname Jabbar Zelaya Wong Borg Wallac fname Ahmad Alicia Franklin James Jennifer salary 25000 25000 40000 53000 43000 30000 25000 25000 e Smith John English Joyce Naraya Ramesh n 6. SALARY (σ DNO=5 (EMPLOYEE)) Jawab : Maka akan menampilkan semua isi dari atribut LNAME. 7. FNAME dan SALARY yang berada di departemen 5.

π LN (σ (FNAME = ‘Richard’ OR FNAME = ‘Johny’) (STUDENT U INSTRUKTUR)) Jawab : Maka akan menampilkan field LN dengan fname=’Richard’ atau fname=’johny’ pada tabel STUDENT U INSTRUKTUR. Pada Cartesian Product kedua tabel harus memiliki field-field yang berbeda. STUDENT X INSTRUKTUR Jawab : Untuk relasi STUDENT X INSTRUKTUR tidak dapat direlasikan karena pada kedua tabel memiliki jenis field-field yang sama. 10. STUDENT – INSTRUKTUR Jawab : Akan menampilkan entiti dengan pengurangan record berdasarkan tabel instruktur. 9.Susan Yao Sharuk Khan h Johny Indo Barbar John a Amy Jimmy Bon John Richar Ford Hendrix Jovi Smith Mark d Franci Johnson s 8. .

STREET_ADDRESS (σ DEPARTEMENTS_NAME = ‘Research’ DEPARTMENTS)) 3.Modul 9 2. ( Tabel pegawai dan departemen). nomor department. Tampilkan nomor project. nama manager department. untuk project yang berlokasi di ‘Stafford’ (Tabel pegawai. departemen. alamat dan tangggal lahir. Cari nama dan alamat yang untuk semua pegawai yang bekerja pada departemen ‘Research’. Jawab: ρ (Alamat. proyek) . EMPLOYEES ∞ DEPARTMENTS ∞ LOCATIONS) π (Alamat / ( π DEPARTEMENTS_ID FIRST_NAME.

3.LNAME. PROJECT P WHERE D.LNAME.DNO. proyek). E. P.LOCATION=’Stafford’ AND P. DEPARTEMENTS_ID.ADDRESS FROM EMPLOYEES E. E.FNAME.BDATE FROM PROJECT.SSN. untuk project yang berlokasi di ‘Stafford’ Jawab: SELECT P. DEPARTEMENTS D WHERE E. EMPLOYEES ∞ JOBS) π DEPARTEMENTS_ID = ‘5’ FIRST_NAME (Proyek / ( π DEPARTEMENTS_ID (σ DEPARTMENTS)) Modul 10 2. .NUMBER=’5’.DNAME=’Research’ AND D.PNUMBER FROM EMPLOYEES E. Tampilkan nomor project.FNAME. Cari nama pegawai yang bekerja pada semua project yang dikontrol oleh nomor department 5 . Jawab: ρ (Proyek.ADDRESS. P. E. STREET_ADDRESS. DEPARTEMENTS D.P. E. nama manager department. E. 4. Cari nama pegawai yang bekerja pada semua project yang dikontrol oleh nomor department 5.NUMBER AND M.LNAME. departemen. HIRE_DATE (Alamat) 4. DEPARTEMENTS D.NUMBER=E. nomor department.NUMBER.DNUM.( table pegawai.Jawab: ρ (Alamat. alamat dan tangggal lahir. Cari nama dan alamat yang untuk semua pegawai yang bekerja pada departemen ‘Research’. Jawab: SELECT E. EMPLOYEES ∞ JOBS ∞ DEPARTMENTS ∞ (π LOCATIONS)) π STATE_PROVINCE = ‘Stafford’ FIRST_NAME. E. Jawab: SELECT E.DNUM=D.MGRSSN=E. EMPLOYEES E WHERE P. JOB_ID.

nama manager department. (Tabel pegawai. nomor department. departemen dan proyek) π (TMPGB. Cari nama pegawai yang bekerja pada semua project yang Dikontrol oleh nomor departemen 5.EMPLOYEES lOCATIONS)) π JOBS DEPARTEMETNS (σ STATE_PROVINCE = ‘Stafford’ FIRST_NAME. STREET_ADDRESS DEPARTEMETNS (TMPADDR / (π lOCATIONS) (σ DEPARTMENTS_NAME = ‘Research’ DEPARTMENTS_ID DEPARTMENTS)) 3. DEPARTMENTS_ID. alamat dan tanggal lahir. Cari nama dan alamat untuk semua pegawai yang bekerja pada departemen “Research”.EMPLOYEES π FIRST_NAME. (Tabel pegawai dan departemen) π (TMPADDR. HIRE_DATE (TMPADDR) 4. (Tabel pegawai. Tampilkan nomor project. department dan proyek) π (TMPADDR.Aljabar Relasional 2 Contoh kasus : 2. STREET_ADDRESS. EMPLOYEES JOBS) π FIRST_NAME (TMPGB /(π DEPARTMENTS_ID (σ DEPARTMENTS_ID = ‘5’ DEPARTMENTS)) Keterangan : P = pi . untuk project yang berlokasi di “Stafford”. JOB_ID.