Primul join
Biblioteca CityBook vrea să afișeze categoriile cărților alături de rezultatele căutărilor. În rezultate ar trebui să apară doar cărțile care au o categorie atribuită.
Unește tabela categories cu datele despre cărți. Clasa HikariSetup este deja configurată pentru tine.
Acest exercițiu face parte din cursul
Interogarea unei baze de date PostgreSQL în Java
Instrucțiuni pentru exercițiu
- Completează interogarea pentru a face join cu tabela
categoriesfolosindcategory_id. - Alege tipul de join potrivit pentru a afișa doar cărțile care au o categorie.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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"));
}
}
}
}
}