JOIN DAN RELASI DATA


1. Pengertian Join dan Relasi Data

https://images.openai.com/static-rsc-4/ZFWVdEkacQRPSxBQ2e9stIsusKkeB3oof8iDQyHagJOe-UqR-mXeSOWyVUQkzOfKoNsm8yH2xngMmEQ0716htOvqUKPIMbKNfi1T8vmQB9MFy8VKaWgHl4aW9MOyg2MpZ2MaxMvIYulucghvDWFE1t_tk1zElhLOlelMcVa6rLG_vLPVstJ8lr_fJDWke6eZ?purpose=fullsize
https://images.openai.com/static-rsc-4/i7HdO7ltJwK79zyb8aoTQaaAwX9hTOPQX48B7e9xBzJ7o7SHMvu4mITy_DuJNLYTCwxZ3obJ_CCQ28wsOgxXtiaC_aPIkpu3tMbjI2MmicVsM-opcvRg6qkBjVCJo6gHv_yjONFC1HmEoK4tUwpOksgb-2qAN_NIPydMYZnUSRAEoBRjj6tBukOLn6ZJabWh?purpose=fullsize
https://images.openai.com/static-rsc-4/y8idcHXReaplq5NkSVH19bHRBh4Vt-Sow6wmuXD7dC4YY4RktmRyfgDR2-NBUtP8kvvK0yV57H1W7gAnBsWlsTKqNP5rbH1ySC5uA58eVE4QLTPDlAMh50laUqpnrLPtrO9wUNo-Wv4rQmqC_xOaatnmdq4feUTHPBWMn-s0n7ArCr6p1o-D0hSurwx5FjJy?purpose=fullsize

7

πŸ“– Deskripsi

Relasi data adalah hubungan antar tabel dalam database, sedangkan JOIN adalah operasi SQL untuk menggabungkan data dari beberapa tabel berdasarkan relasi tersebut.

🧠 Narasi Penjelasan

  • Relasi β†’ konsep hubungan
  • JOIN β†’ implementasi dalam query

πŸ‘‰ Tanpa relasi, JOIN tidak bisa dilakukan.


2. Konsep Dasar Relasi Tabel

https://images.openai.com/static-rsc-4/maRCkvE6onqP3V5mrBp0PW7vAoJvMngsEjlGqAFGzB-wKwBXKQQC6laCa0TwJJe16qbIZNl1I4S1cu9uZ85UN0gdGQFXEu-VSWcQfWLPFtI1A9s-uggSHAjthWD39gh6Vs-TvKLhVQyAyYJDElh39Df9MqYWCI8_kuHm--OS6DmfqREvuQcUbb5SzTo-oW23?purpose=fullsize
https://images.openai.com/static-rsc-4/RWRXdnEHn_RIbGOTJSOoNJ_ybo7Y6SiTJPrv14JHjC2T2EuLqQRaoSy3z7_eCiHd3a9LoveU4oEkrtRt7xj6RNYuXLg5r0JdiwsazZfDOzi6lhG_kkFz7dUkd2_m3mYzc58I9FkdAxN2rOzTCeNWSe-3sb1VAgoyqufhSXk4cvwXmO1ZNVzL340XXFlVPB-V?purpose=fullsize
https://images.openai.com/static-rsc-4/XH97h2IB7_VbZN5RaLYtQwXTkHfC0u4nTnv6Y0A7X-owB4d_8-Hfefr__o_hKj82wJel3a6mf7tLuFi4QCZ2rIjt90NiNBDKRWqj_lXgE2IH3qOo7n5ObXBOigkEBM0ei2CmCh6oqBorN3C6-B5ol1bXn5y8HfB-syNuFqLwc1Yu74uJjMw98Qf91n-OvGG8?purpose=fullsize

6

πŸ“– Deskripsi

Relasi dibentuk menggunakan primary key dan foreign key.

🧠 Narasi Penjelasan

  • Primary Key β†’ identitas unik
  • Foreign Key β†’ penghubung

πŸ‘‰ Relasi menjaga konsistensi data.


3. Jenis Relasi Data

https://images.openai.com/static-rsc-4/yttwcg0utOPA-qnnAIfDY5yjdhvObkvKuIs1GXualandqxya57uy_hoOlJfgTEWhtj6pnvgH_XHfKudpqL3Le9wwq8L6QL5wC7m3rSBkp8_p8MDHkoybEk4qg-Vm_AQSAzBPA35ds2jdP11NZNzvU4u64i2JTzaQ6N9J8k-nTLffmzyeDfl_-EjiXzI9IQoA?purpose=fullsize
https://images.openai.com/static-rsc-4/Vq1dKxwX0pfbfO3WcqPeR_V68VQaCtYA3yLzX35VMU7HhMWmvZEKNB-j6mMaZSBjHfEhU8VZ3Pehok6FZlzm54uQfxtlM6ikCpeICWdR-3hvDkTgsOottNFGxBaDWNlJHK01BpA59vbBo34soPLxZBKwyH5b51hKw_Sh-kHxd8qbY9yLQwDD4q8qVU4BepTs?purpose=fullsize
https://images.openai.com/static-rsc-4/qclBwKPk8GeBGA6XgqAAynKjJhBHqFV7ulhhQe-xFL3YRnft40B1TXQ7pMViBtPEz-vyiEc56I2lqgqBXurdHmVVU1xe2nKvBmQpPsnTKUYrbAV2JbSRuk0ONernhUDIbNL2hN0MGCS7_ovYv9eREWxPXG_SDXeKGhimgedIcatTyazAwauCYBYbUxXRh4_u?purpose=fullsize

7

πŸ“– Deskripsi

Relasi memiliki beberapa jenis.

πŸ“Š Tabel:

RelasiPenjelasan
1:1Satu ke satu
1:NSatu ke banyak
M:NBanyak ke banyak

4. Pengertian JOIN dalam SQL

https://images.openai.com/static-rsc-4/hYkPjYbRRxvz-meI3aQCo6oxysKLRh9fU55mcNU82EUcxzggQ_9mD-FtFxM5d5zmWmLQBjuAWVMdqPH17wvSUH3hjZUFvAz87As5Bad7z7JtV4OYdDwUz620sZ_k0t-i7JzZOmTgKHGNeQP9fsEkg6FAmho7gYf58PGNIJjP-v8uaVIWE-r2v49OaXqN3Rsw?purpose=fullsize
https://images.openai.com/static-rsc-4/sGujH2BpdVA4a1KM6f7hAk_D_n4x9OGDJ4Ahv5kJnD_DCDIE8C53aHRrGbiK_DIb5YTw0EYPYIn_7sAEb_rUeyR3UNddkORq-4RNTRUJ_Ah6bdbGbWkSPiKb8BQMjziBBPY7yEqe8gT4aVjvHyy_GKHIA7wdeOzaJ2w0pE3pv2jgvh3rxs0d6FqpZVjzXynd?purpose=fullsize
https://images.openai.com/static-rsc-4/-zfx17YMf8Q7SuxYaE6wQRteplFZG10DWjbZ8_27ph9l9dZcA82JyBz45_OkYoG_Oz3louTysIo8JMhG9JlYBHgE5jQVsYsp1aMJf6TAtaYl9l2Mup_u8HKZsmf6jk9X4KUBtM0gX_wd7SnNc-Zwxb2w6J_XWbzKA8SEBEnDeLFmTPc3M598DUu1JH0Evn11?purpose=fullsize

7

πŸ“– Deskripsi

JOIN digunakan untuk mengambil data dari beberapa tabel.

🧠 Narasi Penjelasan

JOIN bekerja dengan:

  • Mencocokkan nilai kolom
  • Menggabungkan hasil

5. INNER JOIN

https://images.openai.com/static-rsc-4/_9BJQfYPagUBsUVUf8rW7dAY4heYh8E0foYTIDOPHnz4I82ize4WCu1MULOCgXacL8xoyRUIyDCA79IMof3WHkin1yFbvMzvdDxqc3lvZm_aldlbLm1j8VHMK8gE2vR6T-A7mfHm9-pOQMCX5icGu0aLh_Q4YJheCEvRcCdDkZxJm5nExdc3TDzI-LczSH41?purpose=fullsize
https://images.openai.com/static-rsc-4/rP0aoXlCTGwh1E48dexLtSoK2nwFazV9V0qI_vLtF4n621YR_aiaaoOSvctsfXsYZ2xFKfck5-ZPfvLWvjgaoXe-eB2duPbKXNaiqD1CGC0_5bZrICgaafFORLGhsbqelf24IB5mBV7QoJMmJvgUfAZaUVQZ6tWZ4fXHwueqlbRRsybVu6ZJ70LSxCuh690u?purpose=fullsize
https://images.openai.com/static-rsc-4/ikBKvcmYAe4pBPSt_TIDMTy1RJlfBAK2tKOlFXyVnsGigmvCfpQdfw-o6OiJkM7PdIu7Ahw6Vm0iuwftyMUczDKTgpiBvMIzSEg5u4FpfDy06HRyFGE8yBFHhtnUXWYclBI99hnMMx1MdnaVEthZQGnC-WJLPWtewImLVXltCUpzE9FRFgT-LoHN5mUKzjyn?purpose=fullsize

6

πŸ“– Deskripsi

Mengambil data yang cocok di kedua tabel.

🧠 Narasi Penjelasan

SELECT m.nama, n.nilai
FROM mahasiswa m
INNER JOIN nilai n ON m.id = n.id;

πŸ‘‰ Hanya data yang memiliki pasangan.


6. LEFT JOIN

https://images.openai.com/static-rsc-4/TvmmMGSDnJgzPhzFJU0hC7t12E8fpnp16MHHbTv_YfY0HeMb0_AT-_jaG6hrVK1tSYxSbRiM3EJEh-Y_6R6las5ZtzX9GTkezFXG60XtSPYHqPpcLKPFVY9JjKsCLA9s-HUq6x9f0p2SDJ8lkPY4pQd-k057GB8lyYXvUzBIw1lF1VwQ3tLrd76o0Ci80iZf?purpose=fullsize
https://images.openai.com/static-rsc-4/J1MKvg-JXPYlZGyx9tcxGFSvMhqfSydE3_1P8yqg2lq1BuAxtM3rFHQEvDZH-OdXLSLNqnZHRmWK96kbJow51IAOPQISutGyBMMSi2oYmPyxXnbZs0k0nAsrODuQB30mUwDEhATIz2jlbmysM1X99sCGeDO8FI1ua0WVOFROJDI3cMKVM3W-ysdmQv_tjOmr?purpose=fullsize
https://images.openai.com/static-rsc-4/HYTshsVfu7nlPvYctpshtxr3RwJc9G9RPH8w_DxMykR3w-75fuKKogsbmOD3Si6DmlOOeW-HQ13hj-xgZ5L0UPkl--WlCWsDt7Da2C24XaRYx1ZGhABwDLkLM3tbMOiqAKS0yfEO1TYiGzQQv-ND2j4LkbnnV7bRdQy3lUEdpDy_tQEb65_57LPRWEWs8jgy?purpose=fullsize

5

πŸ“– Deskripsi

Mengambil semua data dari tabel kiri.

🧠 Narasi Penjelasan

SELECT m.nama, n.nilai
FROM mahasiswa m
LEFT JOIN nilai n ON m.id = n.id;

πŸ‘‰ Data kiri tetap tampil walau tidak ada pasangan.


7. RIGHT JOIN

https://images.openai.com/static-rsc-4/PUug2lIsrnHC5Ve4i-ARJCTOEFrzZWF58c-d64A7-1YX2o-2uhIkHAmQF2ecyk3N6HGDQTCVP4TicEr7SgvwWEEEGD5vFV_bUv3cLIm9Ivbc0hdesWUp3v3NykqJ9NPdELTu-nlHm21QgsPwDQi9OwLqL2uB9kVlMTb-bTyJFzJlpYfW6Jw6xqZv5v1XUc-_?purpose=fullsize
https://images.openai.com/static-rsc-4/wHUOHtV6Xo8n4xNwC_WXEb8RacAdFuLpJukNh0CtVHL5oT5M9AWP9s_xBJmNEMJL7KrtXIzYWvPk0yFe3UDJCr4E3KwAkxdRu25E57Mykq8uG4-uj26VbLPohJDdFmg0xLWApbIfprv6_4cX2eMKoLd92RYwhMNo1J7939bBzJ344_S1ttmSSQMsQONph1tS?purpose=fullsize
https://images.openai.com/static-rsc-4/alCWIxaUj2KAYcDBkPFbbZU5Ezq3pUeR3WODhqmHA9cQxJbsV_b5JmiFzbkP27izXd68dBaRb0dcQ0m4vMGqszdqCcy6D0kh_wp0wJM3nN1-3kbvI8X2gnz20UZQdnaozlpgzdOLTmSYCJOD843hTHP9xInpaBjbH2tqixoc0b9NXWObpNJ2cZmn1L2YuSIb?purpose=fullsize

7

πŸ“– Deskripsi

Mengambil semua data dari tabel kanan.

🧠 Narasi Penjelasan

SELECT m.nama, n.nilai
FROM mahasiswa m
RIGHT JOIN nilai n ON m.id = n.id;

8. FULL OUTER JOIN

https://images.openai.com/static-rsc-4/tY0grtjz5NzTHTUcWaEpDJ5-LWsBmKoCN6H4x538mAayI1ile_xqVfCm1VJ_Cf9bRU27miNlAtIQV9v4VbbHkVQCyFh-Mi_gqKhAMnLs3WFEi0rqwY_cDwyt3kQteU5vtA3awTfo_QiNtGMiikdB5z2ry3emdb0THJwTuHiJYMGTDls5ovSiuyqGjo1a1O6-?purpose=fullsize
https://images.openai.com/static-rsc-4/o2IFaZgf7hJ0kEizmLxIcCPz7nmlOg4QFYWSXRFW_nhIM_8GJXQlT1s6OvzNY6kUs6MvpbYbF2QVRrbUPXTLCo4ZO6k6IEGzMfs2942Z54kvVZsmIYTC0nMFAj6RYP4fwoK9iQlaR8ELDf5vFHSOBCVkJvupQu9y2HUk078EjwjyzQvnQAjsll2_AyUECawH?purpose=fullsize
https://images.openai.com/static-rsc-4/fHVnPRSoxMYZfBC5KwPn8j9zAmxkReQ4iatR6LWKGnlkOoPXPvkOIDP-KVn944vtisISt1_fu2To8kf98B88myZNuSWbYtSy8TqjCnPdmmYCgmaboTN0skxFqelZ4nSiUnn96Qx1FOHC8xrWYxwkYKYfJfUgtAAVP1qIqisqaoxt6bLz7FdIslaBJMIcRpXs?purpose=fullsize

5

πŸ“– Deskripsi

Mengambil semua data dari kedua tabel.

🧠 Narasi Penjelasan

πŸ‘‰ Menggabungkan semua data, cocok atau tidak.


9. CROSS JOIN

https://images.openai.com/static-rsc-4/H_cvUJQ2YAMw_lwWMmKxAtU31HfKSjam4xrD8hZ29n1TlHZSuShCTLRK3C-sXUFNkuTXyHwcmIMO2QMRW1rQbUELqFaPfIrreBOpqWrbUiUw6gPNwJ6qEsoOsr2SdorztiKqD2v3piZtkS3PMEAGKxY9sXWLoerPBZKjIHZEzAo7WHaTRaqlK7kDfM1SNvsh?purpose=fullsize
https://images.openai.com/static-rsc-4/du73Td-KMUiKhJ63EhrcsIb3CwU6XLcowVJ7-VzpBnaOunXHsk3cKYSlZSC2saDyUu2BdnIifqrvJLJPLXInScrOHyx58Zj6kCa0oGavVovXOzLNGh61DNbyzrn9ZRd2Ol5lEvlpCsAnyw83CHFlnnFezhXI3ufquEUxX-G7HZ5RI77MJPDyOCmIpHP6jVji?purpose=fullsize
https://images.openai.com/static-rsc-4/P84FSEGzdL1j2Tc63m0nz44t_zYcWoTW3qSUN5dThcGbkHI9jtu9ZYq43TPc2kr8FePDuysYGSncOoXdJx7iaW132p1Jaar6hLhmxjGQNCNZVB_RrAsalNvNm5NOoGklcjB_eabpUPYHxOFCVylFnD_5KlGaiz5hqb-5HYww-3SgNiS6HCgnw1_qPmtco-86?purpose=fullsize

7

πŸ“– Deskripsi

Menggabungkan semua kombinasi data.

🧠 Narasi Penjelasan

πŸ‘‰ Hasil bisa sangat besar.


10. SELF JOIN

https://images.openai.com/static-rsc-4/C5XSbmR7aKeaqCgvFwxk_3hZwIsFtkr10JxuCfa2Oa60XdduJu2micMq7nkIcusyIfTrahyMO3sl1GktlFS4BYN1e3UhNVU9YTxYC9B7P_Onf1PgdKwwxJgaPAn5gpijUstp5UX5HClHZZrMMfRNOthSEkHh0jykkze1dA5B5pmDG20zpRiD-ygCGRn92a5W?purpose=fullsize
https://images.openai.com/static-rsc-4/5ZgBeTSovGPCjQTO49iIFDwRK-69lNvVuqdXKFLPNCHlIv4LN4nv29PQ0V-dAbrmtO3JpYqJt-ep9pohc9ShhJM9ywGwuUAkLVIdM-J9QCXHXFp7Q9_QdgRy9C1qZeYdFIYCKGuq8ZQwk1wsvIDnA56xgGO3iQQueV-B4nUaQj8ghKdlBGPdMu1RP7mPh6WD?purpose=fullsize
https://images.openai.com/static-rsc-4/uNGX_3cm8ehe5dsGzPp0t1Kn7cwnhR_gBynqC7PKBwfmvf4QVIQi-lA42Pbv5XM0o-TDNRZJmp5PUi0eZZgTGScr-BKBif6pC33lM6UhOIvthBwgOKtHtSDIEw_5Au6oM7plO5q-fN5VldAHwzzBxvnysUL0zHaZ4EAyts6CSH9JRPuh1lUeFv2m88ICuF79?purpose=fullsize

7

πŸ“– Deskripsi

Join pada tabel yang sama.

🧠 Narasi Penjelasan

Contoh:

  • Relasi karyawan dan manager

11. Perbandingan JOIN

πŸ“Š Tabel:

JOINHasil
INNERData cocok
LEFTSemua kiri
RIGHTSemua kanan
FULLSemua data

12. Contoh Studi Kasus

https://images.openai.com/static-rsc-4/VCskIbSta0ck0EhdotogVZjdVEZOd6ufEEZ8FZtF1f-d7MG3Eao6XRk3jvlKcO1_HkfFIx3-LoD73JtnEZZdl9QgeMsa003lLDgc1rOFco6wjuMswdsO4B-GRkh6xkjnyUfSejJK0L7gFTnKWkiDFesLo5i8W-j2xqB6twn6TS8aKHsS_SVvESkiQnzqwCMa?purpose=fullsize
https://images.openai.com/static-rsc-4/t2HJ8Yf8wq8SojdDQoR1G9L4yrDGh-4TxsWgYfqfqd2PhiawrabUFXVX_4m24sImtwzAyV1fH8FXDFymgPjaaJqCNMh1N5k5-zLIdWKGo1I24BIBnuoMQjkiqJP5qF7fDNrqI_7qRGGPV4O8dZFFiQFRyTPAJ2_hCxeKIUlUuthqq8klMcl3TKUaQOq6pURN?purpose=fullsize
https://images.openai.com/static-rsc-4/AcZDLDLLBXQloipaZtYMfWiJJweMRngU2__Al1r_71EjSP2vQQNuXFjJLIKyMV75vVTOw5hLx5o7kefoU_EfOVskXduNYhu_rQYSVX8lTf-Ep_3KhLlsacp6VgUy4IcX0itH02aAmU9P_TQkHAHBA_rbLR76k4fZpWNs6LJRB6s7ux5bE1aIERVcvEtbwl-c?purpose=fullsize

8

πŸ“– Deskripsi

Penerapan JOIN dalam sistem nyata.

🧠 Narasi Penjelasan

  • Mahasiswa
  • Mata Kuliah
  • Nilai

13. JOIN vs Subquery

πŸ“Š Tabel:

AspekJOINSubquery
PerformaCepatLebih lambat
StrukturKompleksSederhana

14. Tips Menggunakan JOIN

https://images.openai.com/static-rsc-4/LDIh-2BekfZqTU01g9AigR6GRS1BUWxamdw079QpHDkg8ddKRQpks9xoaTrMfJzQGCXIdS2FDaxpeyOOuRXL0HM3zAhn__D2V4mibVKfGc7fwvuawuf0MkG5AuKcIW2n6K5VhcwTHi_NbV-6IJyIB63BPQ3eHcgrdjlwSQHlvKavUvIwyyllrpkP0V1QB4J6?purpose=fullsize
https://images.openai.com/static-rsc-4/CjmomIybVbwNlxqOKiXSH_XoloSBKaemS7r8P7xkoGaemPSuDkxTgQ84ttuiFSJ-Nct6sr1qVCMoWPKOycYr5j7PqKCTRkinFeEmOPMhbfU7FRrJU1tH4CUI0PNll24Y_2tRB3Yqc1H37XQVjaLS93ZNIbB7CGDcc5Q2KFN401bbEYVwWB97gnvWCIvafKnY?purpose=fullsize
https://images.openai.com/static-rsc-4/fHVnPRSoxMYZfBC5KwPn8j9zAmxkReQ4iatR6LWKGnlkOoPXPvkOIDP-KVn944vtisISt1_fu2To8kf98B88myZNuSWbYtSy8TqjCnPdmmYCgmaboTN0skxFqelZ4nSiUnn96Qx1FOHC8xrWYxwkYKYfJfUgtAAVP1qIqisqaoxt6bLz7FdIslaBJMIcRpXs?purpose=fullsize

7

πŸ“– Deskripsi

Cara menggunakan JOIN secara efektif.

🧠 Narasi Penjelasan

  • Gunakan index
  • Gunakan kondisi ON yang tepat
  • Hindari join berlebihan

15. Ringkasan Materi

πŸ“– Deskripsi

Inti pembelajaran.

🧠 Narasi Penjelasan

  • Relasi menghubungkan tabel
  • JOIN mengambil data dari relasi
  • Terdapat berbagai jenis JOIN

16. Kesimpulan

  • JOIN adalah bagian penting SQL
  • Digunakan dalam hampir semua sistem database
  • Memungkinkan analisis data yang kompleks

🎯 LATIHAN / DISKUSI

  1. Apa itu JOIN?
  2. Jelaskan INNER dan LEFT JOIN!
  3. Apa fungsi CROSS JOIN?

πŸ“ TUGAS

  • Buat 2 tabel:
    • Mahasiswa
    • Nilai
  • Lakukan:
    • INNER JOIN
    • LEFT JOIN