Začněte nyníZačněte zdarma

První join

Knihovny CityBook chtějí zobrazovat kategorie knih přímo ve výsledcích vyhledávání. Ve výsledcích by se měly zobrazovat pouze knihy, které mají přiřazenou kategorii.

Připoj tabulku categories, aby data o knihách byla obohacena o kategorie. Třída HikariSetup je už nakonfigurovaná.

Toto cvičení je součástí kurzu

Dotazování PostgreSQL databáze v Javě

Zobrazit kurz

Pokyny k cvičení

  • Dokonči dotaz tak, aby spojoval tabulku categories pomocí category_id.
  • Vyber správný typ joinu, který zobrazí pouze knihy s přiřazenou kategorií.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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"));
                }
            }
        }
    }
}
Upravit a spustit kód