Apache Derby-Order By 절
ORDER BY 절은 키워드를 사용하는 순서대로 결과 집합의 내용을 정렬하는 데 사용됩니다. ASC는 오름차순을 나타내고 DESC는 내림차순을 나타냅니다. 둘 중 하나를 언급하지 않으면 내용이 기본적으로 오름차순으로 정렬됩니다.
통사론
다음은 ORDER BY 절의 구문입니다-
SELECT * FROM table_name ORDER BY column_name ASC|DESC.
예
다음과 같은 레코드가있는 데이터베이스에 Employees라는 테이블이 있다고 가정합니다.
ID |NAME |SALARY |LOCATION
------------------------------------------------------------------------------
1 |Amit |30000 |Vijayawada
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Vijayawada
5 |Trupthi |45000 |Kochin
6 |Suchatra |33000 |Vijayawada
7 |Rahul |39000 |Lucknow
다음 쿼리는 직원 이름을 기준으로 오름차순으로 테이블 내용을 정렬합니다.
ij> SELECT * FROM Employees ORDER BY Name;
이것은 다음과 같은 출력을 생성합니다-
ID |NAME |SALARY |LOCATION
---------------------------------------------------------------
1 |Amit |30000 |Hyderabad
4 |Archana |15000 |Mumbai
2 |Kalyan |40000 |Vishakhapatnam
7 |Rahul |39000 |Lucknow
3 |Renuka |50000 |Delhi
6 |Suchatra |33000 |Pune
5 |Trupthi |45000 |Kochin
7 rows selected
유사하게, 다음 쿼리는 직원의 급여를 기준으로 내림차순으로 테이블의 내용을 정렬합니다-
ij> SELECT * FROM Employees ORDER BY Salary DESC;
이것은 다음과 같은 출력을 생성합니다-
ID |NAME |SALARY |LOCATION
---------------------------------------------------------------
3 |Renuka |50000 |Delhi
5 |Trupthi |45000 |Kochin
2 |Kalyan |40000 |Vishakhapatnam
7 |Rahul |39000 |Lucknow
6 |Suchatra |33000 |Pune
1 |Amit |30000 |Hyderabad
4 |Archana |15000 |Mumbai
7 rows selected
JDBC 프로그램을 사용하여 데이터 정렬
이 섹션에서는 JDBC를 사용하여 Derby에서 테이블의 내용을 정렬하는 방법을 설명합니다. ORDER BY 절과 키워드 ASC (오름차순 표시) 및 DSC (내림차순 표시)를 사용하여 레코드를 순서대로 정렬 할 수 있습니다.
네트워크 클라이언트를 사용하여 Derby 네트워크 서버를 요청하려면 서버가 실행 중인지 확인하십시오. 네트워크 클라이언트 드라이버의 클래스 이름은 org.apache.derby.jdbc.ClientDriver이고 URL은 jdbc : derby : // localhost : 1527 /입니다.DATABASE_NAME;create = true; user =USER_NAME;passw ord =PASSWORD".
Apache Derby에서 테이블의 레코드를 정렬하려면 아래 단계를 따르십시오.
1 단계 : 드라이버 등록
데이터베이스와 통신하려면 먼저 드라이버를 등록해야합니다. 그만큼forName() 수업 방법 Class클래스 이름을 나타내는 String 값을 받아 메모리에로드하면 자동으로 등록됩니다. 이 방법을 사용하여 드라이버를 등록하십시오.
2 단계 : 연결하기
일반적으로 데이터베이스와 통신하기 위해 수행하는 첫 번째 단계는 데이터베이스와 연결하는 것입니다. 그만큼Connection클래스는 데이터베이스 서버와의 물리적 연결을 나타냅니다. 다음을 호출하여 연결 개체를 만들 수 있습니다.getConnection() 의 방법 DriverManager수업. 이 방법을 사용하여 연결을 만듭니다.3 단계 : 문 개체 만들기
당신은 Statement 또는 PreparedStatement 또는, CallableStatement데이터베이스에 SQL 문을 보내는 개체. 방법을 사용하여 만들 수 있습니다.createStatement(), prepareStatement() and, prepareCall()각기. 적절한 방법을 사용하여 이러한 개체 중 하나를 만듭니다.
4 단계 : 쿼리 실행
문을 만든 후에는 실행해야합니다. 그만큼Statement 클래스는 다음과 같은 쿼리를 실행하는 다양한 방법을 제공합니다. execute()둘 이상의 결과 집합을 반환하는 문을 실행하는 메서드입니다. 그만큼executeUpdate()메소드는 INSERT, UPDATE, DELETE와 같은 쿼리를 실행합니다. 그만큼executeQuery()메서드는 데이터를 반환합니다. 이 방법 중 하나를 사용하고 이전에 만든 문을 실행합니다.
예
다음 JDBC 예제는 JDBC 프로그램을 사용하여 Apache Derby에서 테이블의 레코드를 정렬하는 방법을 보여줍니다. 여기서는 임베디드 드라이버를 사용하여 sampleDB (존재하지 않는 경우 생성)라는 데이터베이스에 연결합니다.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SortData {
public static void main(String args[]) throws SQLException, ClassNotFoundException {
//Registering the driver
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
//Getting the Connection object
String URL = "jdbc:derby:SampleDB;create=true";
Connection conn = DriverManager.getConnection(URL);
//Creating the Statement object
Statement stmt = conn.createStatement();
//Creating a table and populating it
String query = "CREATE TABLE Employees("
+ "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
+ "Name VARCHAR(255), Salary INT NOT NULL, "
+ "Location VARCHAR(255), "
+ "PRIMARY KEY (Id))";
String query = "INSERT INTO Employees("
+ "Name, Salary, Location) VALUES "
+ "('Amit', 30000, 'Hyderabad'), "
+ "('Kalyan', 40000, 'Vishakhapatnam'), "
+ "('Renuka', 50000, 'Delhi'), "
+ "('Archana', 15000, 'Mumbai'), "
+ "('Trupthi', 45000, 'Kochin'), "
+ "('Suchatra', 33000, 'Pune'), "
+ "('Rahul', 39000, 'Lucknow'), "
+ "('Trupti', 45000, 'Kochin')";
//Executing the query
String query = "SELECT Location, SUM(Salary) " + "from Employees GROUP BY Location";
ResultSet rs = stmt.executeQuery(query);
while(rs.next()) {
System.out.println("Salary: "+rs.getString(1));
System.out.println("Location: "+rs.getString(2));
System.out.println(" ");
}
}
}
산출
위의 프로그램을 실행하면 다음과 같은 출력이 나타납니다.
Salary: Chennai
Location: 43000
Salary: Delhi
Location: 50000
Salary: Hyderabad
Location: 30000
Salary: Kochin
Location: 45000
Salary: Lucknow
Location: 39000
Salary: Mumbai
Location: 15000
Salary: Pune
Location: 33000