ComenzarEmpieza gratis

Tu primer join

CityBook Libraries quiere mostrar las categorías de los libros junto a los resultados de búsqueda. Solo deben aparecer en los resultados los libros con una categoría asignada.

Haz un join con la tabla categories para enriquecer los datos de los libros. La clase HikariSetup ya está configurada para ti.

Este ejercicio forma parte del curso

Consultas a una base de datos PostgreSQL en Java

Ver curso

Instrucciones del ejercicio

  • Completa la consulta para unir con la tabla categories usando category_id.
  • Elige el tipo de join adecuado para mostrar solo los libros que tienen categoría.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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"));
                }
            }
        }
    }
}
Editar y ejecutar código