Fundamental SQL Using INNER JOIN and UNION

Wulan Sopiani
16 min readFeb 13, 2021

Pada modul ini kita akan belajar bagaimana menyatukan dua tabel atau lebih dengan SQL.

Penggabungan Tabel dari Relasi Kolom

Penggabungan tabel yang pertama adalah dengan melihat hubungan atau relasi dari kolom. Di sini kita akan menggunakan dua tabel sebagai pembelajaran.

Tabel pertama: ms_item_warna

Contoh tabel pertama yang akan kita gunakan sebagai bahan latihan adalah tabel ms_item_warna seperti terlihat berikut ini,

Tabel ini terdiri dari dua kolom yang berisi informasi nama buah atau sayuran dengan warnanya, dan memiliki delapan baris data.

Selanjutnya, jika permasalahan kita adalah ingin mengetahui informasi tidak hanya mengenai warna tetapi juga jenis/kategori dari setiap nama barang apakah tergolong sayuran atau buah, maka kita tidak dapat memperoleh informasi tersebut jika hanya berdasarkan tablel ms_item_warna. Oleh karena itu, kita perlu menghubungkan tabel tersebut dengan tabel lain yang berisi informasi tersebut, yaitu tabel ms_item_kategori.

Tabel kedua: ms_item_kategori

Ini contoh tabel kedua, yakni tabel ms_item_kategori,

Tabel ini terdiri dari dua kolom yang berisi informasi nama tumbuhan dengan kategorinya, dan memiliki delapan baris data.

Sekarang kita telah memiliki tabel kedua yaitu tabel ms_item_kategori yang memiliki delapan baris data dan berisi informasi mengenai nama tumbuhan dengan kategorinya. Sama seperti permasalahan di tabel sebelumnya, jika kita hanya memiliki tabel ms_item_kategori maka kita tidak dapat memperoleh informasi mengenai nama dan warna tumbuhan. Oleh karena itu, kita bisa menggabungkan kedua tabel tersebut menjadi satu tabel baru yang berisi informasi lengkap mengenai nama, warna dan kategori setiap barang/item.

SELECT * FROM ms_item_kategori;
SELECT * FROM ms_item_warna;

output:

nama_item | kategori |
+-----------+----------+
| bayam | sayuran |
| belimbing | buah |
| duku | buah |
| durian | buah |
| gandum | buah |
| jamur | sayuran |
| jambu air | buah |
| jeruk | buah |
+-----------+----------+
+-------------+--------------+
| nama_barang | warna |
+-------------+--------------+
| apel | merah |
| bayam | hijau |
| daun bawang | hijau |
| duku | kuning pekat |
| durian | kuning |
| gandum | coklat |
| jambu air | merah |
| jeruk | oranye |
+-------------+--------------+

Key Columns

Hal pertama yang perlu dilakukan sebelum menggabungkan kedua tabel adalah mengidentifikasi kolom mana dari kedua tabel yang memiliki kecocokan atau memiliki informasi yang sama.

Dari kedua tabel tersebut, nama_item dan nama_barang memiliki hubungan/relasi sehingga bisa digunakan untuk menghubungkan/menggabungkan kedua tabel.

Kedua kolom ini untuk selanjutnya disebut sebagai kolom kunci atau key columns.

Menggabungkan Tabel dengan Key Columns

Saatnya mempraktekkan penggabungan tabel ms_item_kategori dan ms_item_warna menggunakan key columns.

SELECT * FROM ms_item_kategori, ms_item_warna
WHERE nama_barang = nama_item;

output:

+-----------+----------+-------------+--------------+
| nama_item | kategori | nama_barang | warna |
+-----------+----------+-------------+--------------+
| bayam | sayuran | bayam | hijau |
| duku | buah | duku | kuning pekat |
| durian | buah | durian | kuning |
| gandum | buah | gandum | coklat |
| jambu air | buah | jambu air | merah |
| jeruk | buah | jeruk | oranye |
+-----------+----------+-------------+--------------+

Dapat dilihat hasil dari penggabungan dua tabel tersebut yaitu berupa tabel baru dengan empat kolom dan enam baris data. Perlu diketahui bahwa penggabungan ini bersifat sementara artinya tabel asli di database tidak mengalami perubahan, dan tabel baru hasil penggabungan ini juga tidak serta merta tersimpan di database.

Dari tabel hasil penggabungan terlihat bahwa baris data yang muncul hanyalah baris data yang isi datanya terdapat di kedua key columns, dan data yang isinya cocok untuk kedua tabel jumlahnya hanya enam dari total delapan baris data yang ada. Sedangkan baris data yang berisi belimbing, jamur, apel dan daun bawang, tidak terdapat di kedua tabel, sehingga baris data ini akan di-exclude dan tidak akan muncul di tabel hasil penggabungan.

Panah berwarna magenta menunjukkan proses pencocokan dan penggabungan data. Sebagai contoh: Baris data pertama dengan isi “bayam” pada key column nama_item (tabel ms_item_kategori), akan mencari isi yang sama di key column nama_barang (tabel ms_item_warna), dan ditemukan pada baris kedua kemudian dihubungkan menjadi satu baris di tabel baru hasil penggabungan.

Pencocokan dengan pencarian ini berdasarkan bagian kondisi (conditional clause) pada query yang ditandai dengan warna kuning berikut.

Setelah seluruh data ditemukan dengan kondisi ini, dan jika tidak menentukan spesifik kolom maka seluruh kolom data dari kedua tabel akan dimunculkan dengan isi/baris data yang sama dan terdapat di kedua key column digabungkan menjadi satu baris pada tabel baru.

Isi data yang ditandai dengan warna merah adalah data yang tidak memiliki pasangan sehingga tidak bisa digabungkan, dan dengan demikian tidak memiliki data gabungan pada hasil akhir.

Cara pencocokan dan penggabungan disebut dengan INNER JOIN — dimana isi dari key column kedua tabel harus cocok satu sama lain baru dapat digabungkan.

Bagaimana jika urutan Tabel diubah?

Jika akan mengubah urutan tabel di bagian FROM pada query inner join, maka hanya urutan kolom saja yang berubah tetapi isi data dan jumlah data tidak berubah.

SELECT * FROM ms_item_warna, ms_item_kategori
WHERE nama_barang = nama_item;

output:

+-------------+--------------+-----------+----------+
| nama_barang | warna | nama_item | kategori |
+-------------+--------------+-----------+----------+
| bayam | hijau | bayam | sayuran |
| duku | kuning pekat | duku | buah |
| durian | kuning | durian | buah |
| gandum | coklat | gandum | buah |
| jambu air | merah | jambu air | buah |
| jeruk | oranye | jeruk | buah |
+-------------+--------------+-----------+----------+

Terlihat jumlah data yang dihasilkan tetap 6 baris data, namun dengan urutan kolom yang berbeda.

Dimana dua kolom pertama adalah dari tabel ms_item_warna, dan dua kolom berikutnya dari tabel ms_item_barang. Hal ini sesuai dengan urutan nama tabel yang diketikkan setelah FROM.

Menggunakan Prefix Nama Tabel

Seperti yang dijelaskan sebelumnya, jika akan menggunakan wildcard (*), dan tidak menentukan spesifik nama kolom yang akan dimunculkan di bagian SELECT, maka secara default urutan kolom dimulai dengan kolom dari tabel yang dinyatakan pertama di bagian FROM. Akan tetapi, bisa juga memanfaatkan wildcard dengan menambahkan prefix nama tabel, dimana dengan merinci prefix nama tabel ini, dimungkinkan untuk menentukan urutan kolom dari tabel mana yang muncul duluan.

Sebagai contoh, jika akan menggabungkan kedua tabel, dengan menyatakan tabel ms_item_warna terlebih dahulu di bagian FROM, tetapi yang ingin dimunculkan kolomnya di awal hasil adalah dari yang ms_item_kategori, maka querynya akan menjadi sebagai berikut.

SELECT ms_item_kategori.*, ms_item_warna.*
FROM ms_item_warna, ms_item_kategori
WHERE nama_barang = nama_item;

output:

+-----------+----------+-------------+--------------+
| nama_item | kategori | nama_barang | warna |
+-----------+----------+-------------+--------------+
| bayam | sayuran | bayam | hijau |
| duku | buah | duku | kuning pekat |
| durian | buah | durian | kuning |
| gandum | buah | gandum | coklat |
| jambu air | buah | jambu air | merah |
| jeruk | buah | jeruk | oranye |
+-----------+----------+-------------+--------------+

Penggabungan Tanpa Kondisi

Dalam beberapa case di real problem, sering kali terdapat permasalahan tertentu dimana kita ingin menggabungkan tabel tanpa ada kondisi. Proses penggabungan ini juga dapat dilakukan dengan metode koma dan tanpa menggunakan kondisi relasi antar kolom.

Berikut adalah contoh query dari penggabungan seperti itu.

SELECT * FROM ms_item_kategori, ms_item_warna;

output:

+-----------+----------+-------------+--------------+
| nama_item | kategori | nama_barang | warna |
+-----------+----------+-------------+--------------+
| bayam | sayuran | apel | merah |
| belimbing | buah | apel | merah |
| duku | buah | apel | merah |
| durian | buah | apel | merah |
| gandum | buah | apel | merah |
| jamur | sayuran | apel | merah |
| jambu air | buah | apel | merah |
| jeruk | buah | apel | merah |
| bayam | sayuran | bayam | hijau |
| belimbing | buah | bayam | hijau |
| duku | buah | bayam | hijau |
| durian | buah | bayam | hijau |
| gandum | buah | bayam | hijau |
| jamur | sayuran | bayam | hijau |
| jambu air | buah | bayam | hijau |
| jeruk | buah | bayam | hijau |
| bayam | sayuran | daun bawang | hijau |
| belimbing | buah | daun bawang | hijau |
| duku | buah | daun bawang | hijau |
| durian | buah | daun bawang | hijau |
| gandum | buah | daun bawang | hijau |
| jamur | sayuran | daun bawang | hijau |
| jambu air | buah | daun bawang | hijau |
| jeruk | buah | daun bawang | hijau |
| bayam | sayuran | duku | kuning pekat |
| belimbing | buah | duku | kuning pekat |
| duku | buah | duku | kuning pekat |
| durian | buah | duku | kuning pekat |
| gandum | buah | duku | kuning pekat |
| jamur | sayuran | duku | kuning pekat |
| jambu air | buah | duku | kuning pekat |
| jeruk | buah | duku | kuning pekat |
| bayam | sayuran | durian | kuning |
| belimbing | buah | durian | kuning |
| duku | buah | durian | kuning |
| durian | buah | durian | kuning |
| gandum | buah | durian | kuning |
| jamur | sayuran | durian | kuning |
| jambu air | buah | durian | kuning |
| jeruk | buah | durian | kuning |
| bayam | sayuran | gandum | coklat |
| belimbing | buah | gandum | coklat |
| duku | buah | gandum | coklat |
| durian | buah | gandum | coklat |
| gandum | buah | gandum | coklat |
| jamur | sayuran | gandum | coklat |
| jambu air | buah | gandum | coklat |
| jeruk | buah | gandum | coklat |
| bayam | sayuran | jambu air | merah |
| belimbing | buah | jambu air | merah |
| duku | buah | jambu air | merah |
| durian | buah | jambu air | merah |
| gandum | buah | jambu air | merah |
| jamur | sayuran | jambu air | merah |
| jambu air | buah | jambu air | merah |
| jeruk | buah | jambu air | merah |
| bayam | sayuran | jeruk | oranye |
| belimbing | buah | jeruk | oranye |
| duku | buah | jeruk | oranye |
| durian | buah | jeruk | oranye |
| gandum | buah | jeruk | oranye |
| jamur | sayuran | jeruk | oranye |
| jambu air | buah | jeruk | oranye |
| jeruk | buah | jeruk | oranye |
+-----------+----------+-------------+--------------+

Syntax INNER JOIN

Tujuan JOIN adalah menggabungkan dua atau lebih tabel yang berbeda di dalam database. JOIN ini hanya bisa dilakukan apabila tabel — tabel tersebut memiliki key kolom yang sama. Di SQL, terdapat beberapa tipe JOIN yaitu : INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, dan SELF JOIN. Setiap tipe join memiliki tujuan dan hasil query yang berbeda. Pada metode INNER JOIN, baris dari kedua atau lebih tabel akan dibandingkan untuk mengecek baris — baris mana saja yang cocok satu sama lain berdasarkan kondisi JOIN yang ditentukan.

Syntax INNER JOIN:

Penggunaan prefix pada tabel_1.nama_kolom dan tabel_2.nama_kolom ditujukan agar terdapat kejelasan (clarity) kolom pada tabel mana yang dijadikan acuan dalam proses INNER JOIN. Tentunya, penggunaan prefix ini ini sangat bermanfaat jika ingin menggabungkan beberapa tabel.

Jika masing-masing tabel tersebut dianalogikan sebagai dua himpunan maka proses INNER JOIN ekivalen dengan INTERSECTION (IRISAN) antara dua himpunan.

Proses INNER JOIN memiliki konsep penggabungan untuk records pada kedua tabel yang bernilai sama.

Tugas Praktek: Menggunakan INNER JOIN (1/3)

SELECT * FROM ms_item_warna  
INNER JOIN ms_item_kategori
ON ms_item_warna.nama_barang = ms_item_kategori.nama_item;

output:

+-------------+--------------+-----------+----------+
| nama_barang | warna | nama_item | kategori |
+-------------+--------------+-----------+----------+
| bayam | hijau | bayam | sayuran |
| duku | kuning pekat | duku | buah |
| durian | kuning | durian | buah |
| gandum | coklat | gandum | buah |
| jambu air | merah | jambu air | buah |
| jeruk | oranye | jeruk | buah |
+-------------+--------------+-----------+----------+

tabel tr_penjualan dan tabel ms_produk

SELECT * FROM tr_penjualan;
SELECT * FROM ms_produk;

output:

Dapat dilihat pada tabel tr_penjualan dan ms_produk kolom yang memiliki relasi adalah kolom kode_produk.

Tugas Praktek: Menggunakan INNER JOIN (2/3)

Gabungkan tabel tr_penjualan dan ms_produk dan menampilkan seluruh kolom dari kedua tabel.

SELECT * FROM  tr_penjualan  
INNER JOIN ms_produk
ON tr_penjualan.kode_produk = ms_produk.kode_produk;

output:

Memahami Proses dan Hasil Query dengan INNER JOIN

Setelah penggabungan tabel seluruh kolom dari kedua tabel berada di satu tabel dan berisi seluruh kolom — kolom dari kedua tabel. Jadi, kita juga dapat dengan mudah mengidentifikasi nama produk dari setiap kode produk yang dibeli oleh customer.

Jika diperhatikan lebih lanjut antara kolom kode_produk pada hasil query dengan INNER JOIN di atas, dengan kolom kode_produk pada tabel ms_produk.

Kita tidak menemukan prod-06 di tabel hasil query, padahal di tabel ms_produk terdapat data prod-06 yaitu pulpen multifunction + laser DQLAB.

Selanjutnya kita bandingkan dengan tabel tr_penjualan, apakah kita menemukan data prod-06 di tabel tr_penjualan?

Rupanya tidak ada transaksi dengan kode_produksi prod-06 di tabel tr_penjualan. Hal ini karena INNER JOIN akan mencocokkan key kolom tabel tr_penjualan dengan key kolom ms_produk, jika value dari key kolom sama — sama ada di kedua tabel , maka baris itu akan dikembalikan sebagai hasil query dan membentuk satu tabel yang berisi seluruh kolom dari kedua tabel, sedangkan jika value key kolom hanya terdapat di satu kolom, maka baris ini tidak akan ditampilkan. prod-06 ada di tabel di ms_produk tetapi tidak ada di data penjualan sehingga saat penggabungan tabel dengan INNER JOIN, data prod-06 dari tabel ms_produk tidak akan muncul di hasil query.

Syntax INNER JOIN — Memilih Beberapa Kolom Untuk Ditampilkan

Jika kita ingin menampilkan beberapa kolom saja dari tabel hasil penggabungan, maka syntax SQL dari INNER JOIN dinyatakan sebagai berikut ini.

Bagian query

SELECT tabel1.nama_kolom1, tabel1.nama_kolom2, ..., tabel2.nama_kolom2, .... 
FROM tabel1

menghendaki pemilihan kolom mana saja dari kedua tabel yang akan digabungkan. Disini diperlukan penggunaan prefix nama tabelnya.

Selanjutnya, bagian query

INNER JOIN tabel2

digunakan untuk menggabungkan tabel1 dengan tabel2.

Akhirnya, bagian query

ON tabel_1.nama_kolom1 = tabel2.nama_kolom1;

adalah acuan penggabungan tabel1 dan tabel2 berdasarkan kolom yang memiliki tingkat kecocokan yang tinggi. Kedua kolom dengan tingkat kecocokan yang tinggi pada masing-masing tabel disebut juga dengan key column.

Catatan:

Perlu diperhatikan jika menampilkan kolom dengan nama yang sama di kedua tabel, maka pada bagian Select, tidak bisa hanya mengetikkan nama kolom saja, tetapi juga harus didahului oleh prefix nama tabel dimana kolom itu berasal untuk menghindari error karena ambiguitas.

Tugas Praktek: Menggunakan INNER JOIN (3/3)

Di sini kita diminta untuk menggabungkan tabel tr_penjualan dan ms_produk dengan kolom yang ditampilkan dari tabel tr_penjualan adalah kode_transaksi, kode_pelanggan, kode_produk, qty. Untuk tabel ms_produk tampilkan kolom nama_produk dan harga.”

Kemudian kita membentuk kolom total yang merupakan hasil perkalian setiap baris pada kolom harga di tabel ms_produk dengan kolom qty di tabel tr_penjualan.

Tabel hasil penggabungan haruslah membentuk kolom-kolom dengan urutannya adalah kode_transaksi, kode_pelanggan, kode_produk, nama_produk, harga, qty, dan total.

Penyelesaian

SELECT tr_penjualan.kode_transaksi, tr_penjualan.kode_pelanggan, tr_penjualan.kode_produk,  ms_produk.nama_produk,  ms_produk.harga, tr_penjualan.qty, ms_produk.harga* tr_penjualan.qty as total
FROM tr_penjualan
INNER JOIN ms_produk
ON tr_penjualan.kode_produk = ms_produk.kode_produk;

output:

Penggabungan hasil SELECT secara “Vertikal”

Kali ini kita akan menggunakan 2 tabel sebagai contoh yaitu:

  • Tabel A berisi data transaksi untuk kode transaksi ‘tr-001’ sampai ‘tr-003’, dan
  • Tabel B berisi data data transaksi untuk kode transaksi ‘tr-004’ sampai ‘tr-006’,” buka Senja.

Untuk kasus seperti ini kita perlu menggunakan metode UNION agar kedua tabel tersebut menjadi satu tabel.

UNION adalah operator SQL yang digunakan untuk menggabungkan hasil dari 2 atau lebih SELECT — statement secara “Vertikal”, dengan catatan:

  • Setiap hasil dari SELECT statement yang akan digabungkan (UNION) memiliki jumlah kolom yang sama
  • Kolom tersebut juga harus memiliki tipe data yang sama, dan
  • Kolom tersebut memiliki urutan posisi yang sama.

Berikut format syntax-nya:

Tabel yang Akan Digabungkan

Pertama kita akan menampilkan data dari tabel_A dan tabel_B

SELECT * FROM tabel_A;
SELECT * FROM tabel_B;

Menggunakan UNION

Kedua tabel_A dan tabel_B sudah memiliki jumlah kolom yang sama, dan juga urutan posisi kolom juga sama, jadi bisa langsung menggabungkan kedua kolom tersebut dengan menambahkan UNION.

SELECT * FROM tabel_A
UNION
SELECT * FROM tabel_B;

Menggunakan UNION dengan Klausa WHERE

Misalnya kita ingin menggabungkan tabel yang isinya data penjualan untuk kode pelanggan ‘dqlabcust03’ saja, maka kita harus menggunakan UNION dengan kondisi WHERE, berikut contoh codenya:

SELECT * FROM tabel_A
WHERE kode_pelanggan = 'dqlabcust03'
UNION
SELECT * FROM tabel_B
WHERE kode_pelanggan = 'dqlabcust03';

Menyelaraskan (Conforming) Kolom

Jika kita ingin menyatukan dua tabel tetapi posisi kolom dari kedua tabel tersebut tidak sama kita harus menyelaraskan kolom dari kedua tabel di SELECT-statementnya terlebih dulu.

Misalnya di sini terdapat dua tabel yaitu tabel Customers

dan tabel Supplier

Jumlah kolom dari kedua tabel tersebut sama — sama 7 kolom, tetapi kolom posisi kolom ContactName dari kedua tabel tidak sama. Di tabel Customer, posisi kolom ContactName berada di Kolom ke — 3 sedangkan di tabel supplier berada di kolom ke-2.

Jika langsung menggabungkan keduanya, tanpa menyelaraskan kolom hasilnya akan sebagai berikut:

Tentunya, ini hasil UNION yang tidak diinginkan, oleh karena itu, urutkan posisi kolom tersebut di SELECT-Statement dan juga pilih kolom yang ingin digabungkan, sehingga tidak perlu semua kolom dari kedua tabel di-UNION-kan, seperti berikut ini :

SELECT CustomerName, ContactName, City, PostalCode 
FROM Customers
UNION
SELECT SupplierName, ContactName, City, PostalCode
FROM Suppliers;

output:

+-----------------+-------------+----------+------------+
| CustomerName | ContactName | City | PostalCode |
+-----------------+-------------+----------+------------+
| Fransiska Maria | Maria | Jakarta | 14450 |
| Ana Helena | Ana Helena | Surabaya | 5021 |
| Lily Subari | Lili | Makassar | 5023 |
| Yulius Syrup | Yulius | Jakarta | 14450 |
| Bandung Bakery | Sherly Ani | Bandung | 70117 |
| Tara Pastry | Regina Tara | Semarang | 48104 |
+-----------------+-------------+----------+------------+

Jika terdapat perbedaan nama kolom antara SELECT-statement pertama dan SELECT-statement kedua, maka secara default akan digunakan nama kolom dari SELECT-statement yang pertama.

Perbedaan antara UNION dan JOIN

UNION dan JOIN digunakan untuk menggabungkan data dari dua atau lebih tabel. Tapi yang membedakan adalah bagaimana tabel — tabel itu digabungkan. Kita menggunakan JOIN ketika akan menggabungkan tabel secara horizontal, sehingga hasil join akan memuat kolom — kolom dari kedua atau lebih tabel yang digabungkan. Berikut gambaran penggabungan tabel dengan metode JOIN.

Pada metode JOIN, penggabungan dilakukan berdasarkan key/kolom tertentu yang terdapat di tabel-tabel yang akan digabungkan dan key/kolom ini memiliki nilai yang saling terkait. Seperti yang terlihat pada gambar, Kolom A dan Kolom E merupakan key/kolom yang saling terkait sehingga kedua tabel dapat digabungkan dengan mencocokan nilai dari kedua kolom ini. Proses JOIN tidak dapat dilakukan jika tidak terdapat key/kolom yang saling terkait di kedua atau lebih tabel yang akan digabungkan.

Untuk UNION seperti yang sudah dijelaskan, digunakan ketika ingin menggabungkan tabel secara secara vertikal yaitu menggabungkan baris/row dari dua atau lebih tabel. Tidak seperti JOIN, untuk penggabungan dengan UNION, tidak diperlukan key/kolom yang saling terkait tetapi UNION mensyaratkan bahwa jumlah kolom dari tabel — tabel yang akan digabungkankan adalah sama dan berada diposisi yang sama pula. Berikut ilustrasi penggabungan dengan UNION:

Pada proses penggabungan UNION, tidak terdapat penambahan kolom tetapi jumlah baris/rows yang akan bertambah.

Project INNER JOIN

Dalam database, terdapat tabel ms_pelanggan yang berisi data — data pelanggan yang membeli produk dan tabel tr_penjualan yang berisi data transaksi pembelian di suatu store.

Suatu hari, departemen marketing & promotion meminta bantuan untuk meng-query data-data pelanggan yang membeli produk Kotak Pensil DQLab, Flashdisk DQLab 32 GB, dan Sticky Notes DQLab 500 sheets.

Buatlah query menggunakan tabel ms_pelanggan dan tr_penjualan untuk mendapatkan data — data yang diminta oleh marketing yaitu kode_pelanggan, nama_customer, alamat.

NB: Gunakan SELECT DISTINCT untuk menghilangkan duplikasi, jika diperlukan.

Penyelesaian

SELECT DISTINCT ms_pelanggan.kode_pelanggan, ms_pelanggan.nama_customer,   ms_pelanggan.alamat
FROM ms_pelanggan
INNER JOIN tr_penjualan
ON ms_pelanggan.kode_pelanggan = tr_penjualan.kode_pelanggan
WHERE tr_penjualan.nama_produk = 'Kotak Pensil DQLab' OR tr_penjualan.nama_produk = 'Flashdisk DQLab 32 GB' OR tr_penjualan.nama_produk = 'Sticky Notes DQLab 500 sheets';

output:

Project UNION

Siapkan data katalog mengenai mengenai nama — nama produk yang dijual di suatu store. Data tersebut akan digunakan dalam meeting untuk mereview produk mana saja yang akan dilanjutkan penjualannya dan mana yang akan di diskontinu.

Siapkan hanya data produk dengan harga di bawah 100K untuk kode produk prod-1 sampai prod-5; dan dibawah 50K untuk kode produk prod-6 sampai prod-10.

Saat mengecek data produk di database, terdapat 2 tabel yang sama — sama berisi data katalog, yaitu :

Penyelesaian

SELECT nama_produk, kode_produk, harga
FROM ms_produk_1
WHERE harga < 100000
UNION
SELECT nama_produk, kode_produk, harga
FROM ms_produk_2
WHERE harga < 50000;

Mentor: Trisna Yulia Junita (Data Scientist, PT. BUMA)

Referensi: https://academy.dqlab.id/

--

--