Bắt đầu ngayBắt đầu miễn phí

Lần JOIN đầu tiên

CityBook Libraries muốn hiển thị thể loại sách cùng với kết quả tìm kiếm. Chỉ những cuốn sách đã được gán thể loại mới xuất hiện trong kết quả.

Hãy JOIN bảng categories để làm phong phú dữ liệu sách. Lớp HikariSetup đã được cấu hình sẵn cho bạn.

Bài tập này là một phần của khóa học

Truy vấn cơ sở dữ liệu PostgreSQL trong Java

Xem khóa học

Hướng dẫn bài tập

  • Hoàn thiện truy vấn để JOIN với bảng categories bằng category_id.
  • Chọn kiểu JOIN phù hợp để chỉ hiển thị các sách có thể loại.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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"));
                }
            }
        }
    }
}
Chỉnh sửa và Chạy Mã