HSQLDB - Klausul LIKE

Ada klausul WHERE dalam struktur RDBMS. Anda dapat menggunakan klausa WHERE dengan tanda sama dengan (=) di mana kita ingin melakukan pencocokan tepat. Tetapi mungkin ada persyaratan di mana kita ingin menyaring semua hasil di mana nama pembuatnya harus mengandung "john". Ini dapat ditangani dengan menggunakan klausa SQL LIKE bersama dengan klausa WHERE.

Jika klausa SQL LIKE digunakan bersama dengan% karakter, maka klausa tersebut akan bekerja seperti metacharacter (*) di UNIX sambil mencantumkan semua file atau direktori pada command prompt.

Sintaksis

Berikut ini adalah sintaks SQL umum dari klausa LIKE.

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Anda dapat menentukan kondisi apa pun menggunakan klausa WHERE.

  • Anda dapat menggunakan klausa LIKE bersama dengan klausa WHERE.

  • Anda dapat menggunakan klausa LIKE sebagai pengganti tanda sama dengan.

  • Ketika klausa LIKE digunakan bersama dengan tanda%, maka itu akan bekerja seperti pencarian karakter.

  • Anda dapat menentukan lebih dari satu kondisi menggunakan operator DAN atau ATAU.

  • Klausa WHERE ... LIKE dapat digunakan bersama dengan perintah DELETE atau UPDATE SQL untuk menentukan kondisi.

Contoh

Mari kita pertimbangkan contoh yang mengambil daftar data tutorial di mana nama penulis dimulai John. Berikut adalah query HSQLDB untuk contoh yang diberikan.

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

Setelah menjalankan query di atas, Anda akan menerima keluaran berikut.

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

HSQLDB - Program JDBC

Berikut adalah program JDBC yang mengambil daftar data tutorial dimana nama penulis dimulai John. Simpan kode keLikeClause.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);
      }
   }
}

Anda dapat memulai database menggunakan perintah berikut.

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

Kompilasi dan jalankan kode di atas menggunakan perintah berikut.

\>javac LikeClause.java
\>java LikeClause

Setelah menjalankan perintah berikut, Anda akan menerima keluaran berikut.

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