QUERY LANJUTAN (ADVANCED SQL)


1. Pengertian Query Lanjutan

https://images.openai.com/static-rsc-4/afeB-jUPw6Z0VyNV49-AUTKdOrFc2Y_e0j-kMcfiIsN4rAVG0ZjwqeXvI5y5RMgFWem9W7-YMJk4rJoRI0oqyJbl3PW_Xg8PiWuGHVpNSKjSGnSoLTu10ySTBqJowce6KZzcoMolg_ZTWRNr_S-DfDt_3bxEqrvIqSWZRweYJ6vC5KLNcFMAceTcRnb3gUus?purpose=fullsize
https://images.openai.com/static-rsc-4/PDrBOVP1iuGwewW7bq8emcOqacODjfODZWJVXsI-Aa9RHIkJscLYMebqmnSzzOqzgmG4_zXeGlNCBymSF0Jy1A_yjXJ7Z1O4xmVe5zocUdTRMwZz_rDjyAnaLlHyi4ezmiayveUxxlWkK3Lp88DaVo4HU4JzijaEarxJDyeEtwb0X-TXAMBD9pBCESRlbXnA?purpose=fullsize
https://images.openai.com/static-rsc-4/TsD5UFgI7Ozd3E-Mhj7XEorF3PsdLwgvK6zpkToYrPhO7QK3YdXgzCQj3F9hZMIeOTjUvbcqSl2Y7a5E4aj-a_7qrwmMBcqgAEwovI6UkqwDWr0NZR_EbShJWkO62JzDa4oTaEhmJqCXUAZ-UtyO58ouyyGsoKAo3mYEX-JcCHyuMpZ1R-AIuyuxmPS79lwK?purpose=fullsize

8

πŸ“– Deskripsi

Query lanjutan adalah penggunaan SQL tingkat lanjut untuk mengolah data secara kompleks.

🧠 Narasi Penjelasan

Digunakan ketika:

  • Query sederhana tidak cukup
  • Data memiliki relasi kompleks
  • Dibutuhkan analisis data

πŸ‘‰ Query lanjutan membuat SQL lebih powerful.


2. Subquery (Nested Query)

https://images.openai.com/static-rsc-4/L04ykoHcQ8YgrUxkIjygOOegCC96tsFDLOD0Vf5x9QDTYOSI9MlkdEz5rYXgG1_yhkCpwj5-3cfz6NH4PMxyW8YXKn1h7plaZ2_m49AL7GxuFgxGX41GLLXYldWfW01PHJHoRXXzbsAk_7Hfp08qSd0ezDDa1omXNMT0oBp9m7mEP1KliZfqKbW4-_mfc-98?purpose=fullsize
https://images.openai.com/static-rsc-4/jb5PxAxo9vmRQ_NSkyNOmWJOO5Yx2WcmS2-cN8mNxIrahQ4qyUI3k1mR6w8NPsx0524SUEUQLr-iQwC3tkED1jRjAj7fAXgAYtxbfwRPjrVgJp7J9LB-ER79gXwkoqSzbcgP1Ne-pj8qwvcGTlqJSZMt4nILftPNvePMtKmGb1mqQhRN7OE1v4AFsRQqMUMa?purpose=fullsize
https://images.openai.com/static-rsc-4/vREA4f_iZVvc3-RRthjk4Z2p7PxBZMqt_nSJIbJxrYlRRTwy8OHNNdYdtshQAZTiuPoSdDYycEFDRSqWiCThueuPFoEwQ2oUxrmqpu-PmFsDqsqr4NEJw3oaMPYJnZzwIgLlGB8UNCfS44Qv__1vITp37YEWc2QWpt3biMkMai1icg2JQmzIGf46cAx8P6PO?purpose=fullsize

8

πŸ“– Deskripsi

Query di dalam query.

🧠 Narasi Penjelasan

SELECT nama
FROM mahasiswa
WHERE id IN (
SELECT id FROM nilai WHERE nilai > 80
);

πŸ‘‰ Digunakan untuk mengambil data berdasarkan hasil query lain.


3. JOIN Lanjutan

https://images.openai.com/static-rsc-4/xBzrhNLiDihJRlvnD5r5UO5qMOWN5vtd9AeXNsQpr4YuFanb8TrB9jEgb0IZYWnjX6yUf1jlocFKruEMDvh0COXQkH9Rif3KXCljjjBGEVMegAO05sq6OZgm54UALk57K16cEwD5XC_E4LXeK_oaynHy8EBrjriX72vUC1t8HY8gKDSGLdF4wlz9wRI4CFw0?purpose=fullsize
https://images.openai.com/static-rsc-4/LDIh-2BekfZqTU01g9AigR6GRS1BUWxamdw079QpHDkg8ddKRQpks9xoaTrMfJzQGCXIdS2FDaxpeyOOuRXL0HM3zAhn__D2V4mibVKfGc7fwvuawuf0MkG5AuKcIW2n6K5VhcwTHi_NbV-6IJyIB63BPQ3eHcgrdjlwSQHlvKavUvIwyyllrpkP0V1QB4J6?purpose=fullsize
https://images.openai.com/static-rsc-4/ELvO7_FY3GzsgJQ7V-8YK-CNXSWHNnFFchB4ovsNBkMzx88Ng0UgIAu3yK46HbwTY6ENPgg1mnH9u9lWoycWslMqgSLbyRpoKzJ8qbRkOJlHfwFqWvC_zRDAWXhrl9WEhPMnaGwYuOshXVSqwrVGrs_IGdsDEsCuKfULMDN6bZ18-gGfxGmcAzA05L70_Lcf?purpose=fullsize

6

πŸ“– Deskripsi

Menggabungkan tabel dengan berbagai jenis.

🧠 Narasi Penjelasan

JOINFungsi
INNER JOINData yang cocok
LEFT JOINSemua kiri
RIGHT JOINSemua kanan
FULL JOINSemua data

4. GROUP BY dan HAVING

https://images.openai.com/static-rsc-4/AuOLYzGfDErvl6UCOAXP47IVjb9pQskhv1gl6DtiP94PibVLNsFMBGsROG3wQcqEzgv5VhxD1tK-A7wDphDoJnmppife1eAnsYu-BzZf6VLBCnSSt2MkpjMDog6cFuzrx5v0fzJOmHd0P5mFOApvXpNvUZ07-jxJCS8nEQLuQCM2r0tfpqw3keeS4PhxA4Xf?purpose=fullsize
https://images.openai.com/static-rsc-4/6K-Tf3GitlfiMPNtaZTSiVbncrj7vL3YsJkS-_kDeAyjXttVZgt1CBixeDoBwkA07yc8DmGv9yNo-2EKax04zTocmcMaCvQPBrMVakh3vu83mGVwIorV0MAUlK6rJ6znTZ8wS9g97fB0vSHVcyS0ZGHVHvxsc8QfCuTyZWIWD4fn90Zj20wILMC3WS48ck7p?purpose=fullsize
https://images.openai.com/static-rsc-4/NnO0BGK88FsQNcatWihG-ijvN5pQQMZE5sYoIGJayf2OPljvOUQNn-nCvpbJmEZinm_5B0D6U9ylNYIJ27gbcG0PfHG_HLI88r-DlcL4AoNbYm56LP9GsVDUvz0PvS75hIitKsuxmmBW2v8D9-zovKp3WznmveebeLniz-gmF6OmUSBtUmvGDHHQuusqs3oO?purpose=fullsize

6

πŸ“– Deskripsi

Mengelompokkan dan memfilter hasil.

🧠 Narasi Penjelasan

SELECT kelas, COUNT(*) 
FROM siswa
GROUP BY kelas
HAVING COUNT(*) > 2;

πŸ‘‰ HAVING digunakan setelah GROUP BY.


5. Aggregate Functions (Lanjutan)

https://images.openai.com/static-rsc-4/AM9N3sSteUYggjD9YzEVaisAdygEPNmwl7oBRk-8gTRKD5u8XC9sibIMU3Q-wpcCPP3xDytUlIL3fIR19GBG4Ut6wkMYmNfpqkxnndiGnVXzmO3dsMWLyPSdJ96Q27Dd2kh4m9ZX8WD1QJoMbSe2fLN2JNkKiPLm2TbYB2IoBstWgyAl83mcHurhHxpHp2Oe?purpose=fullsize
https://images.openai.com/static-rsc-4/XI4cTRab5zlzvbnl9HGMnpMZHyGYopQBTzTeZ4z__onkz1RdjTS438bJ42kFyYiwUItlQu0EqlP_bHjgb18dF16ORwf8OrXx8vCRjThiL9-tXo4aqk6MllhtUyfUKm8ceuBeIC3sivoCLXhgY_hB56FeIvdC3kTr4K9j2hPWo29pyWkOcMj0yogzMd3j2k0t?purpose=fullsize
https://images.openai.com/static-rsc-4/NnO0BGK88FsQNcatWihG-ijvN5pQQMZE5sYoIGJayf2OPljvOUQNn-nCvpbJmEZinm_5B0D6U9ylNYIJ27gbcG0PfHG_HLI88r-DlcL4AoNbYm56LP9GsVDUvz0PvS75hIitKsuxmmBW2v8D9-zovKp3WznmveebeLniz-gmF6OmUSBtUmvGDHHQuusqs3oO?purpose=fullsize

7

πŸ“– Deskripsi

Fungsi untuk perhitungan data.

🧠 Narasi Penjelasan

FungsiKegunaan
COUNTJumlah
SUMTotal
AVGRata-rata
MAXNilai tertinggi
MINNilai terendah

6. UNION

https://images.openai.com/static-rsc-4/u96nlP_mDu4KDrHVmr3EVmwjmgqj8xVVNxwOwaMWwNZnMbeyojfSL8bDmdKiYdvUhsjGfOMutCXSdT-T9FPdq5XIZu7rjjjAB7mA7mcO-2BWBVucnppAxqV3bjB-_YcyEGWoJCnZrcSZBxSypur9PQy430Khxp9PsQ0r_Cjs_E51HqBCZd4nXod7mU_tcVEO?purpose=fullsize
https://images.openai.com/static-rsc-4/dukMQXuHP7aivatJa_jFw-gtuyWdy_xHLc4T8b-V71AAG01aoH1xVSKwy8AtwyPtIZGX111Be65zZDiRoG0EncddHaxMwhyw1IrLM229s3mkmhm1xLrvbX0traT-6qFAHjSZmZPL1CYjW0guJ7lVBFbYVzKYGbk6i5lXnJ7Bgx3NZEDLO0N7Dw75AbxGNcWg?purpose=fullsize
https://images.openai.com/static-rsc-4/cWKx28D2ZACgWlV3kLR4UyL5I9pYdxXfXrVo3-2CiGS7gGGf9ozhpwdWr39Ow3KyyZoiQyFovk0Jaw63MBuPp36ccmM6VFR-L0Xrm4xln8xaLswqTX40i8t0TyKovQSfZW8eVbOjxmu0VjogSOTp4N2DFBsxDwyecxsPn_K-krf1omUcIBPraWNlS9fBFMmI?purpose=fullsize

6

πŸ“– Deskripsi

Menggabungkan hasil query.

🧠 Narasi Penjelasan

SELECT nama FROM mahasiswa
UNION
SELECT nama FROM dosen;

πŸ‘‰ Menggabungkan dua hasil query.


7. VIEW (Virtual Table)

https://images.openai.com/static-rsc-4/U3mRGD91pmFWRhWTblkYBt0Y_RKmvdL1-wM1ryooXieac0jNqN6N2rN1s-m3-jGF_NekKa1emZv-mcm1eRIBpi7zwjbx0OIVUSyQ3yi-eWFrab3t3SITAL2L95t6-EElMyhJAgDI3d1trovFZPF93hHD7dct_skJ5ErxcNAXtaphi117fDGWz-TiHKkACDGJ?purpose=fullsize
https://images.openai.com/static-rsc-4/Sg27QEZgaCF_l_kk_IzyXICV-9DjetZXLZ5b4MeXkX9_KlRtx1ljLPphPFAJPBpQUtvuOeThyJ48ubSGBCqiGorEXXt4TaRhOWbEVH_d19loNaiav9IkcH-2Qn6XcdRW8t6dTJhIW-LMcjVsq1hXkqoYpwbs7T9qYCUvMG0xl7TexlvsJBicxFsoyMRduM73?purpose=fullsize
https://images.openai.com/static-rsc-4/HA-iz1y9N81sWQw9TaIvWvjow48GZCilRO_ehISxqPkW88lKm_dTw4J4z9rVlbdc0DneUtwCvUW2NuUs9Pjaa-jyPuIYjVBOC4f5Npqjc0aWw2TQyp79czxuVccwAqjVbsc7QuGWHQlLZwSoG6KfVidmlScl-59V02p371TcAV1EqWc88roc2PTNPGqpceJF?purpose=fullsize

7

πŸ“– Deskripsi

Tabel virtual dari query.

🧠 Narasi Penjelasan

CREATE VIEW data_mahasiswa AS
SELECT nama, umur FROM mahasiswa;

πŸ‘‰ Mempermudah akses data.


8. INDEX

https://images.openai.com/static-rsc-4/GkkBGc3uTloOjqko9zNNQMsV3X-XqO8XQeOl6jNDhzsE5meMOXkr5a76buU6XXuaUh3gcloskiaqK1PWYDhRcXC-7anVmB0J2key0S_EabOJ3EzDRW_msl9RDH7Lp_5rUQJ1aLBdU647uVVA5riHFqkEnjWD4Ep8D833s1QgFrKubOgCfVuoAJ-3KGqej3yH?purpose=fullsize
https://images.openai.com/static-rsc-4/hDLKJJpINGmr1OoPKsLRhILH6pwyFz7ZLL6XzPfXPcoUY1uICWv4dbZuErVL0D-E4y1cSx2lpOmaOeTCLCeZI0tpTthaYqvyhWWME-Fj_087czcNCGXmf0Di9fmhtdxz5pb-xqBZTVy2LYPGp9aPiCplF2eDvVW4KNa11eXYzIv2mkeDF7bt_1lxUwENGeuY?purpose=fullsize
https://images.openai.com/static-rsc-4/SAVImKiZwnB6MwL0zXgE3o3h9kMeCN6Y41vrJeFGwLmaN8pqldPq0Vpfg_PfEWhcj4JSbWoM4znisDVKzJ8V2zzsTVXI3vbCr1via_NBhGAl-_rTb5bWL9uulJLAilJI4qw-v9hSzNeNVWT_hVbho-4tx3YZ0g4djC8gft0Xo4RxU6UtDUay-DreEMFoiC0j?purpose=fullsize

8

πŸ“– Deskripsi

Mempercepat pencarian data.

🧠 Narasi Penjelasan

CREATE INDEX idx_nama ON mahasiswa(nama);

πŸ‘‰ Seperti daftar isi pada buku.


9. Stored Procedure

https://images.openai.com/static-rsc-4/MNVetx4u2HcQd7c280uB01f339jcB1iG0goqxNUWJUWY5gS_CxipfudwWuvha3C3TJw9Pyl4xSvdcAlaIUZMnqxaIVrtuirVCYUbUnjCDMYqPJDSJc9R5fDAFSdLrSPn5xevaqY_702POSPJ8jLKC_1NfsZ2pRcXpDKrU0RmVf8d9zXd7YRImOUWBfpj1fAk?purpose=fullsize
https://images.openai.com/static-rsc-4/wWC10EZG_t6BHJlQ2Lcvfad8BuadNd_FMY0S0NidKnOVMM6sJ5LX6Y-Ytbi5OkY3BgNbLat3YfbxgcdopyAhB6_XMwS-4_jPAa_mdLu8htyFFaESlAj677di3MilOPQ8YCU5F-jE12VOsIP3LEuhEzCM5n59Ixx8AKXuQZVwpo14cGcycyFU-i5ezkQMF62y?purpose=fullsize
https://images.openai.com/static-rsc-4/rafiurAncQIU92XsZn8pSUalu3JGA5tz8zJmG4TC1ASKiNhV3VovlAYOCZPAawizM5_nmiJHDqFXh3LtaBhONjsBHnOFluInUwpy3PEg-ipY1odl4JlDYrBs_LfH65Xts0MDt_oiudoT-5Zpuf7nzQBhTHmqw9KonpYAw0HKcP_yKWvQDcxbFbQmPC4VM3Bx?purpose=fullsize

6

πŸ“– Deskripsi

Program SQL yang tersimpan.

🧠 Narasi Penjelasan

  • Digunakan untuk otomatisasi
  • Bisa dipanggil berulang

10. Trigger

https://images.openai.com/static-rsc-4/lnhd5hdEeHxQx4bdOf2ZKOJLnEcnZPn9xKqtQnII34jowtIsQN6XJQuWwqrwiPlmIIA77CcdsQFVB4e48WU1ZLExuhZ1ozyjYckoI8UJnsmJXt0qMq8FTa-DNs8YiwdrZJupMo7yuKjb5fuXM3Bd3ophQFGLk4OFLHBd2flMViwsLBTwtiRjOkQ5B8SuOy0z?purpose=fullsize
https://images.openai.com/static-rsc-4/qhdBLI_lxYvbG9b6Td_lFEL_iFHL-Gbz1hT-CPSOzuJT-yrViUCZ5JFma6Guioq3wmJjLJrNtC8nf0pLTxC1iRL7JRMPjvdwFbPbFv-7C_ppgRb63lThT7xdceiAzQGXBENJUIJed4vTIc1x_50qgYe6ZGWYYCUxphXc_IoZxJcEMwbiCsP4u4FfMTd__og3?purpose=fullsize
https://images.openai.com/static-rsc-4/y-oJWa7_bLtqz4J_LFNH0U2PKO2BNhhxA64F36XqeDzAadRifq_SIw5qAokfG8CadIQjt7TvUI2spfGs0vZlJ4aA5Pu-YeGV3vHNBR6UILdfVrE5ev9Bvj1mETyjFb6TXea3CYiqItDyF3QFFds08x57G1ys8DcrwRySGsQ-4RT9kJtiFkW0VzaKy_zH0Cse?purpose=fullsize

6

πŸ“– Deskripsi

Aksi otomatis saat terjadi event.

🧠 Narasi Penjelasan

Contoh:

  • Saat data ditambah β†’ otomatis update log

11. Subquery vs JOIN

πŸ“Š Tabel:

AspekSubqueryJOIN
StrukturDalam queryGabungan tabel
PerformaLebih lambatLebih cepat
KompleksitasMudahLebih kompleks

12. Query Optimization

https://images.openai.com/static-rsc-4/Roblcdm3Cyku0qh3AiNOfMifux3kOoF73vqnHTzREeWHIgDWXeb4sQoT-L4LTSsa46-0e5fQ_lWQoCMa9qpUaWYoQwVqgrYqIK2CPnJW8ermayihg99tRO8eNh9ZpWAAPesDy_0Xdo98FCBE8HvziEObrTODmW4mS3HMAh6Avuwa3dFosGlDjfYsZ0TJJ6ZP?purpose=fullsize
https://images.openai.com/static-rsc-4/K7q2hCzB6vEwuyALigDye11gxNDJo5xZGH2Aea3BWJMwIZpTgzlq4zCSroX_zwL8C-Mst7R_j6a15eTDAWXNHCgyLPIFoj__LauF8rQSQOB43P8Nh48oAVVfp875Zf9udYcB4YCHpen3zf0B5oXrDEvVm0RD_r5EKRrGazAsUbi_hzOYa2cIstmQfcGBVqWy?purpose=fullsize
https://images.openai.com/static-rsc-4/K3cyLbnCk53SgcjSyXR48FqvS_L6f1LYvMKeJEC5s3SmTjJ0wAgRc-kUnE2Q6V4I2smfkMmuI_QaoQau_KloAAHSlofydUDA-E-XN_25A1D5zs06COOMKlPrdc19NIg84mcKd9lXb_LECnTWWhQltDDvKUAdE2UPq1iaCvNDTBMnGt4Cahgf2Q6V4P89IvaX?purpose=fullsize

6

πŸ“– Deskripsi

Mengoptimalkan query agar cepat.

🧠 Narasi Penjelasan

Tips:

  • Gunakan index
  • Hindari SELECT *
  • Gunakan WHERE

13. Contoh Studi Kasus

https://images.openai.com/static-rsc-4/afeB-jUPw6Z0VyNV49-AUTKdOrFc2Y_e0j-kMcfiIsN4rAVG0ZjwqeXvI5y5RMgFWem9W7-YMJk4rJoRI0oqyJbl3PW_Xg8PiWuGHVpNSKjSGnSoLTu10ySTBqJowce6KZzcoMolg_ZTWRNr_S-DfDt_3bxEqrvIqSWZRweYJ6vC5KLNcFMAceTcRnb3gUus?purpose=fullsize
https://images.openai.com/static-rsc-4/GE5XxP1vYrUGAduf9LJYsbcgw4gmUCm9OmZi0ZwiyvQZM756zMaY937tK7KrEHsoFbqHIn67UZfEDkyiZjvV3eu6--Sh21Y1vwwDUWTa2miZKtvfOarpdlkSNvRldyU6EaR65y0y_vmr7emqW0nsbGw0FP5F5AoP1403emuGq5PYasLB_HRQVXhZOTWMTa58?purpose=fullsize
https://images.openai.com/static-rsc-4/meENErb4wwI9q33PBUMoL3Ul5b0vvH81NzmpDTnPf6GHVbQ6l9RBb-qRGzyRNbsmhJbW5N5bfOB9UM3-UuOIt_PWKmG5espcaRonesGASsNOYaeHt2exVar4vZNsHrTmmj1GvWEMEXaT9CWE0Yk4hXcw7-bnOMEOoF_IiEmqvmK0_5AkSknwcLCQiYwhpjjj?purpose=fullsize

6

πŸ“– Deskripsi

Penerapan query lanjutan.

🧠 Narasi Penjelasan

Kasus:

  • Menampilkan mahasiswa dengan nilai tertinggi
  • Menghitung rata-rata nilai per kelas

14. Kelebihan Query Lanjutan

πŸ“– Deskripsi

Manfaat penggunaan query lanjutan.

🧠 Narasi Penjelasan

  • Fleksibel
  • Powerful
  • Mendukung analisis data

15. Kekurangan Query Lanjutan

πŸ“– Deskripsi

Keterbatasan.

🧠 Narasi Penjelasan

KekuranganPenjelasan
KompleksSulit dipahami
BeratBisa lambat

16. Ringkasan & Kesimpulan

πŸ“– Deskripsi

Inti pembelajaran.

🧠 Narasi Penjelasan

  • Query lanjutan digunakan untuk pengolahan kompleks
  • Melibatkan subquery, join, agregasi
  • Penting dalam sistem database modern

🎯 LATIHAN / DISKUSI

  1. Apa itu subquery?
  2. Jelaskan GROUP BY dan HAVING!
  3. Apa fungsi INDEX?

πŸ“ TUGAS

  • Buat query:
    • JOIN 2 tabel
    • GROUP BY
    • Subquery
  • Gunakan data mahasiswa