HSQLDB - Clause

Genel olarak, HSQLDB tablosundan veri almak için SELECT komutunu kullanırız. Elde edilen verileri filtrelemek için WHERE koşullu cümle kullanabiliriz. WHERE kullanarak, bir tablodan gerekli kayıtları seçmek için seçim kriterlerini belirleyebiliriz.

Sözdizimi

Aşağıda, HSQLDB tablosundan veri almak için SELECT komutu WHERE cümlesinin sözdizimi verilmiştir.

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • WHERE yan tümcesi kullanarak çeşitli koşulları dahil etmek için virgülle ayrılmış bir veya daha fazla tablo kullanabilirsiniz, ancak WHERE yan tümcesi SELECT komutunun isteğe bağlı bir parçasıdır.

  • WHERE yan tümcesini kullanarak herhangi bir koşulu belirtebilirsiniz.

  • AND veya OR operatörlerini kullanarak birden fazla koşul belirtebilirsiniz.

  • Bir koşul belirtmek için DELETE veya UPDATE SQL komutuyla birlikte bir WHERE yan tümcesi de kullanılabilir.

Kayıt verilerini koşulları kullanarak filtreleyebiliriz. Koşullu WHERE cümlesinde farklı operatörler kullanıyoruz. WHERE yan tümcesi ile kullanılabilecek işleçlerin listesi aşağıdadır.

Şebeke Açıklama Misal
= İki işlenenin değerlerinin eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. (A = B) doğru değil
! = İki işlenenin değerlerinin eşit olup olmadığını kontrol eder, değerler eşit değilse koşul doğru olur. (A! = B) doğrudur
> Soldaki işlenenin değerinin sağ işlenenin değerinden büyük olup olmadığını kontrol eder, evet ise koşul doğru olur. (A> B) doğru değil
< Sol işlenenin değerinin sağ işlenenin değerinden küçük olup olmadığını kontrol eder, evet ise koşul doğru olur. (A <B) doğru
> = Sol işlenenin değerinin sağ işlenenin değerinden büyük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. (A> = B) doğru değil
<= Soldaki işlenenin değerinin sağ işlenenin değerinden küçük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. (A <= B) doğrudur

Misal

Burada id, başlık ve "Learn C" adlı kitabın yazarı gibi ayrıntıları alan bir örnek var. SELECT komutunda WHERE yan tümcesi kullanılarak mümkündür. Aynı sorgu aşağıdadır.

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

Yukarıdaki sorguyu yaptıktan sonra aşağıdaki çıktıyı alacaksınız.

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

HSQLDB - JDBC Programı

Burada, tutorials_tbl tablodan kayıt verilerini alan JDBC programı bulunmaktadır. Learn C. Aşağıdaki kodu içine kaydedinWhereClause.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);
      }
   }

}

Aşağıdaki komutu kullanarak veritabanını başlatabilirsiniz.

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

Aşağıdaki komutu kullanarak yukarıdaki kodu derleyin ve yürütün.

\>javac WhereClause.java
\>java WhereClause

Yukarıdaki komutu uyguladıktan sonra aşağıdaki çıktıyı alacaksınız.

101 | Learn C | Yaswanth