HSQLDB - LIKE Maddesi

RDBMS yapısında bir WHERE yan tümcesi vardır. Tam eşleşme yapmak istediğimizde WHERE cümlesini eşittir işaretiyle (=) kullanabilirsiniz. Ancak, yazar adının "john" içermesi gereken tüm sonuçları filtrelemek istediğimiz bir gereklilik olabilir. Bu, WHERE yan tümcesi ile birlikte SQL LIKE yan tümcesi kullanılarak işlenebilir.

SQL LIKE yan tümcesi% karakterleriyle birlikte kullanılırsa, komut isteminde tüm dosyaları veya dizinleri listelerken UNIX'te bir meta karakter (*) gibi çalışır.

Sözdizimi

Aşağıda LIKE cümlesinin genel SQL sözdizimi verilmiştir.

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • WHERE yan tümcesini kullanarak herhangi bir koşulu belirtebilirsiniz.

  • LIKE yan tümcesini WHERE yan tümcesi ile birlikte kullanabilirsiniz.

  • Eşittir işareti yerine LIKE yan tümcesini kullanabilirsiniz.

  • LIKE yan tümcesi% işaretiyle birlikte kullanıldığında, bir meta karakter araması gibi çalışacaktır.

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

  • WHERE ... LIKE yan tümcesi, bir koşulu belirtmek için DELETE veya UPDATE SQL komutuyla birlikte kullanılabilir.

Misal

Yazar adının şununla başladığı eğitim verilerinin listesini alan bir örnek düşünelim. John. Aşağıda verilen örnek için HSQLDB sorgusu verilmiştir.

SELECT * from tutorials_tbl WHERE author LIKE 'John%';

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

+-----+----------------+-----------+-----------------+
|  id |      title     |   author  | submission_date |
+-----+----------------+-----------+-----------------+
| 100 |    Learn PHP   | John Poul | 2016-06-20      |
+-----+----------------+-----------+-----------------+

HSQLDB - JDBC Programı

Aşağıda, yazar adının şu şekilde başladığı eğitici verilerinin listesini alan JDBC programı yer almaktadır. John. Kodu içine kaydedinLikeClause.java.

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

public class LikeClause {
   
   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 * from tutorials_tbl WHERE author LIKE 'John%';");
         
         while(result.next()){
            System.out.println(result.getInt("id")+" |
               "+result.getString("title")+" |
               "+result.getString("author")+" |
               "+result.getDate("submission_date"));
         }
      } 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 LikeClause.java
\>java LikeClause

Aşağıdaki komutun çalıştırılmasından sonra, aşağıdaki çıktıyı alacaksınız.

100 | Learn PHP | John Poul | 2016-06-20