LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Vervollständige die Abfrage, um über category_id mit der Tabelle categories zu 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"));
                }
            }
        }
    }
}
Code bearbeiten und ausführen