Der erste Join
CityBook Libraries möchte bei Suchergebnissen die Buchkategorien mit anzeigen. Es sollen nur Bücher erscheinen, denen eine Kategorie zugewiesen ist.
Führe die Tabelle categories an, um die Buchdaten anzureichern. Die Klasse HikariSetup ist bereits für dich eingerichtet.
Diese Übung ist Teil des Kurses
Abfragen einer PostgreSQL-Datenbank in Java
Anleitung zur Übung
- Vervollständige die Abfrage, um über
category_idmit der Tabellecategorieszu joinen. - Wähle den passenden Join-Typ, damit nur Bücher mit einer Kategorie angezeigt werden.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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"));
}
}
}
}
}