Join pertama
CityBook Libraries ingin menampilkan kategori buku di samping hasil pencarian. Hanya buku yang sudah memiliki kategori yang harus muncul dalam hasil.
Gabungkan tabel categories untuk memperkaya data buku. Kelas HikariSetup sudah dikonfigurasi untuk Anda.
Latihan ini adalah bagian dari kursus
Melakukan Query ke Basis Data PostgreSQL di Java
Petunjuk latihan
- Lengkapi kueri untuk melakukan join dengan tabel
categoriesmenggunakancategory_id. - Pilih tipe join yang tepat untuk menampilkan hanya buku yang memiliki kategori.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
public class Main {
public static void main(String[] args) throws SQLException {
HikariDataSource ds = HikariSetup.createDataSource();
// Join with the categories table using category_id
String query = """
SELECT b.*, c.name, c.description
FROM books b
____ JOIN ____ c on b.____ = c.____
WHERE b.publication_year >= ?
AND b.status = 'available'
ORDER BY publication_year ASC
""";
try (Connection conn = ds.getConnection();
PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setInt(1, 2000);
try (ResultSet rs = pstmt.executeQuery()) {
while (rs.next()) {
System.out.printf("ID: %d, Title: %s (%d), Category: %s - %s%n",
rs.getInt("book_id"), rs.getString("title"), rs.getInt("publication_year"),
rs.getString("name"), rs.getString("description"));
}
}
}
}
}