HSQLDB-結果の並べ替え
SQL SELECTコマンドは、レコードの取得および表示中に特定の順序に従う要件がある場合は常に、HSQLDBテーブルからデータをフェッチします。その場合、ORDER BY 句。
構文
これは、HSQLDBからデータをソートするためのSELECTコマンドとORDERBY句の構文です。
SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
フィールドがリストされている場合は、返された結果を任意のフィールドで並べ替えることができます。
結果は複数のフィールドで並べ替えることができます。
キーワードASCまたはDESCを使用して、結果を昇順または降順で取得できます。デフォルトでは、昇順です。
通常の方法でWHERE ... LIKE句を使用して、条件を設定できます。
例
のレコードをフェッチしてソートする例を考えてみましょう。 tutorials_tbl著者名を昇順で並べた表。以下は同じもののクエリです。
SELECT id, title, author from tutorials_tbl ORDER BY author ASC;
上記のクエリを実行すると、次の出力が表示されます。
+------+----------------+-----------------+
| id | title | author |
+------+----------------+-----------------+
| 102 | Learn MySQL | Abdul S |
| 104 | Learn JDB | Ajith kumar |
| 103 | Learn Excell | Bavya kanna |
| 100 | Learn PHP | John Poul |
| 105 | Learn Junit | Sathya Murthi |
| 101 | Learn C | Yaswanth |
+------+----------------+-----------------+
HSQLDB –JDBCプログラム
これは、のレコードをフェッチしてソートするJDBCプログラムです。 tutorials_tbl著者名を昇順で並べた表。次のプログラムをに保存しますOrderBy.java。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class OrderBy {
public static void main(String[] args) {
Connection con = null;
Statement stmt = null;
ResultSet result = null;
try {
Class.forName("org.hsqldb.jdbc.JDBCDriver");
con = DriverManager.getConnection(
"jdbc:hsqldb:hsql://localhost/testdb", "SA", "");
stmt = con.createStatement();
result = stmt.executeQuery(
"SELECT id, title, author from tutorials_tbl
ORDER BY author ASC");
while(result.next()){
System.out.println(result.getInt("id")+" |
"+result.getString("title")+" |
"+result.getString("author"));
}
} catch (Exception e) {
e.printStackTrace(System.out);
}
}
}
次のコマンドを使用してデータベースを起動できます。
\>cd C:\hsqldb-2.3.4\hsqldb
hsqldb>java -classpath lib/hsqldb.jar org.hsqldb.server.Server --database.0
file:hsqldb/demodb --dbname.0 testdb
次のコマンドを使用して、上記のプログラムをコンパイルして実行します。
\>javac OrderBy.java
\>java OrderBy
上記のコマンドを実行すると、次の出力が表示されます。
102 | Learn MySQL | Abdul S
104 | Learn JDB | Ajith kumar
103 | Learn Excell | Bavya Kanna
100 | Learn PHP | John Poul
105 | Learn Junit | Sathya Murthi
101 | C and Data Structures | Yaswanth