Hsqldb-sorting-results

提供:Dev Guides
移動先:案内検索

HSQLDB-結果の並べ替え

SQL SELECTコマンドは、レコードの取得および表示中に特定の順序に従う要件がある場合は常に、HSQLDBテーブルからデータをフェッチします。 その場合、 ORDER BY 句を使用できます。

構文

HSQLDBからのデータをソートするためのORDER BY句とともにSELECTコマンドの構文を次に示します。

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プログラム

作成者名を昇順で並べることにより、 tutorials_tbl テーブルのレコードをフェッチおよびソートするJDBCプログラムを次に示します。 次のプログラムを 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