시작하기무료로 시작하기

데이터 정렬하기

CityBook Libraries의 검색 기능은 잘 동작하지만, 사용자들은 출판 연도 기준으로 오름차순 또는 내림차순 정렬을 원해요. 양쪽 정렬 방식을 모두 처리할 수 있도록 쿼리를 동적으로 구성해 보세요.

HikariSetup 클래스는 이미 설정되어 있어요.

이 연습은 강의의 일부입니다

Java에서 PostgreSQL 데이터베이스 질의하기

강의 보기

연습 안내

  • 결과를 publication_year 기준으로 정렬하도록 쿼리를 완성하세요.
  • 사용자 입력을 나타내는 ascending 변수에 따라 오름차순 또는 내림차순으로 정렬되도록 쿼리를 확장하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

public class Main {
    public static void main(String[] args) throws SQLException {
        HikariDataSource ds = HikariSetup.createDataSource();
        
        boolean ascending = true;
        
        // Order by the publication_year in ascending order
        String query = """
            SELECT *
            FROM books
            WHERE publication_year >= ?
                AND status = 'available'
            ____ ____ ____
            """;
        
        // Sort depending on the ascending parameter
        query += ____ ? "____" : "____";
        
        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)%n", rs.getInt("book_id"), rs.getString("title"), rs.getInt("publication_year"));
                }
            }
        }
    }
}
코드 편집 및 실행