HSQLDB -Where 子句


通常,我们使用SELECT命令从HSQLDB表中获取数据。我们可以使用 WHERE 条件子句来过滤结果数据。使用 WHERE 我们可以指定选择标准以从表中选择所需的记录。

句法

以下是从 HSQLDB 表中获取数据的 SELECT 命令 WHERE 子句的语法。

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • 您可以使用一个或多个以逗号分隔的表来包含使用 WHERE 子句的各种条件,但 WHERE 子句是 SELECT 命令的可选部分。

  • 您可以使用 WHERE 子句指定任何条件。

  • 您可以使用 AND 或 OR 运算符指定多个条件。

  • WHERE 子句还可以与 DELETE 或 UPDATE SQL 命令一起使用来指定条件。

我们可以通过条件来过滤记录数据。我们在条件 WHERE 子句中使用不同的运算符。以下是可与 WHERE 子句一起使用的运算符列表。

操作员 描述 例子
= 检查两个操作数的值是否相等,如果相等则条件成立。 (A = B) 不正确
!= 检查两个操作数的值是否相等,如果值不相等则条件成立。 (A != B) 为真
> 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 (A > B) 不正确
< 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 (A < B) 为真
>= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 (A >= B) 不正确
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件为真。 (A <= B) 为真

例子

下面是一个检索名为“Learn C”的书的详细信息(例如 id、标题和作者)的示例。可以通过在 SELECT 命令中使用 WHERE 子句来实现。以下是相同的查询。

SELECT id, title, author FROM tutorials_tbl WHERE title = 'Learn C';

执行上述查询后,您将收到以下输出。

+------+----------------+-----------------+
| id   |      title     |    author       |
+------+----------------+-----------------+
| 101  |      Learn C   |   Yaswanth      |
+------+----------------+-----------------+

HSQLDB – JDBC 程序

下面是从标题为Learn C的表tutorials_tbl 中检索记录数据的 JDBC 程序。将以下代码保存到WhereClause.java中。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class WhereClause {
   
   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
            WHERE title = 'Learn C'");
         
         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 WhereClause.java
\>java WhereClause

执行上述命令后,您将收到以下输出。

101 | Learn C | Yaswanth