HSQLDB - Clausola Where

Generalmente, utilizziamo il comando SELECT per recuperare i dati dalla tabella HSQLDB. Possiamo usare la clausola condizionale WHERE per filtrare i dati risultanti. Utilizzando WHERE possiamo specificare i criteri di selezione per selezionare i record richiesti da una tabella.

Sintassi

Di seguito è riportata la sintassi della clausola WHERE del comando SELECT per recuperare i dati dalla tabella HSQLDB.

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • È possibile utilizzare una o più tabelle separate da virgola per includere varie condizioni utilizzando una clausola WHERE, ma la clausola WHERE è una parte facoltativa del comando SELECT.

  • È possibile specificare qualsiasi condizione utilizzando la clausola WHERE.

  • È possibile specificare più di una condizione utilizzando gli operatori AND o OR.

  • Una clausola WHERE può anche essere utilizzata insieme al comando SQL DELETE o UPDATE per specificare una condizione.

Possiamo filtrare i dati del record utilizzando le condizioni. Stiamo usando diversi operatori nella clausola WHERE condizionale. Di seguito è riportato l'elenco degli operatori, che possono essere utilizzati con la clausola WHERE.

Operatore Descrizione Esempio
= Controlla se i valori di due operandi sono uguali o meno, in caso affermativo la condizione diventa vera. (A = B) non è vero
! = Controlla se i valori di due operandi sono uguali o meno, se i valori non sono uguali la condizione diventa vera. (A! = B) è vero
> Controlla se il valore dell'operando sinistro è maggiore del valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> B) non è vero
< Controlla se il valore dell'operando sinistro è inferiore al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <B) è vero
> = Controlla se il valore dell'operando sinistro è maggiore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> = B) non è vero
<= Controlla se il valore dell'operando sinistro è minore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <= B) è vero

Esempio

Di seguito è riportato un esempio che recupera i dettagli come id, titolo e l'autore del libro intitolato "Learn C". È possibile utilizzando la clausola WHERE nel comando SELECT. Di seguito è riportata la query per lo stesso.

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

Dopo l'esecuzione della query precedente, riceverai il seguente output.

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

HSQLDB - Programma JDBC

Ecco il programma JDBC che recupera i dati del record dalla tabella tutorials_tblhaving il titolo Learn C. Salva il codice seguente inWhereClause.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);
      }
   }

}

È possibile avviare il database utilizzando il seguente comando.

\>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

Compila ed esegui il codice precedente utilizzando il seguente comando.

\>javac WhereClause.java
\>java WhereClause

Dopo l'esecuzione del comando precedente, riceverai il seguente output.

101 | Learn C | Yaswanth