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
Instrucciones del ejercicio
- Completa la consulta para unir con la tabla
categoriesusandocategory_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"));
}
}
}
}
}