library(sqldf)

Membuat data frame

dfbarang <- data.frame( idbarang = c(1,2,3,4,5,6), namabarang = c("Kabel Listrik", "Pipa PVC", "Saklar", "Lampu LED", "Stop Kontak", "Cat Tembok"), supplier = c("Cahaya", "Mitra Jaya", "Cahaya", "Terang", "Cahaya", "Warna Indah"), tahunmasuk = c(2021, 2022, 2020, 2023, 2022, 2021), stok = c(15,4,6,20,3,2) )

1. Urutkan tabel barang berdasarkan tahun masuk menurun

sqldf("SELECT * FROM dfbarang ORDER BY tahunmasuk DESC")

2. Urutkan tabel barang berdasarkan stok menurun, nama_barang naik

sqldf("SELECT * FROM dfbarang ORDER BY stok DESC, namabarang ASC")

3. Menampilkan daftar nama barang beserta nama pengirimnya

sqldf("SELECT b.namabarang, p.namapengirim FROM dfbarang b JOIN dfpengiriman p ON b.idbarang = p.idbarang")

4. Menampilkan semua barang dan pengirim, termasuk barang yang tidak dikirim

sqldf("SELECT b.namabarang, p.namapengirim FROM dfbarang b LEFT JOIN dfpengiriman p ON b.idbarang = p.idbarang")

5. Menampilkan semua pengiriman dan barang, termasuk pengiriman tanpa barang

sqldf("SELECT b.namabarang, p.namapengirim FROM dfbarang b RIGHT JOIN dfpengiriman p ON b.idbarang = p.idbarang")

6. Menampilkan semua pengiriman dan semua barang

dfleft <- sqldf("SELECT * FROM dfbarang b LEFT JOIN dfpengiriman p ON b.idbarang = p.idbarang") dfright <- sqldf("SELECT * FROM dfbarang b RIGHT JOIN dfpengiriman p ON b.idbarang = p.idbarang") dffull <- unique(rbind(dfleft, dfright)) dffull