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