В структуре СУБД есть предложение WHERE. Вы можете использовать предложение WHERE со знаком равенства (=), где мы хотим сделать точное совпадение. Но может быть требование, когда мы хотим отфильтровать все результаты, где имя автора должно содержать «john». Это можно сделать с помощью предложения SQL LIKE вместе с предложением WHERE.
Если предложение SQL LIKE используется вместе с символами%, то оно будет работать как метасимвол (*) в UNIX при перечислении всех файлов или каталогов в командной строке.
Синтаксис
Ниже приведен общий синтаксис SQL предложения LIKE.
SELECT field1, field2,...fieldN table_name1, table_name2... WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
-
Вы можете указать любое условие, используя предложение WHERE.
-
Вы можете использовать предложение LIKE вместе с предложением WHERE.
-
Вы можете использовать предложение LIKE вместо знака равенства.
-
Когда предложение LIKE используется вместе со знаком%, оно будет работать как поиск метасимволов.
-
Вы можете указать более одного условия, используя операторы AND или OR.
-
Предложение WHERE … LIKE может использоваться вместе с командой SQL DELETE или UPDATE для указания условия.
Вы можете указать любое условие, используя предложение WHERE.
Вы можете использовать предложение LIKE вместе с предложением WHERE.
Вы можете использовать предложение LIKE вместо знака равенства.
Когда предложение LIKE используется вместе со знаком%, оно будет работать как поиск метасимволов.
Вы можете указать более одного условия, используя операторы AND или OR.
Предложение WHERE … LIKE может использоваться вместе с командой SQL DELETE или UPDATE для указания условия.
пример
Давайте рассмотрим пример, который возвращает список данных учебных пособий, где имя автора начинается с Джона . Ниже приведен запрос HSQLDB для данного примера.
SELECT * from tutorials_tbl WHERE author LIKE 'John%';
После выполнения вышеуказанного запроса вы получите следующий вывод.
+-----+----------------+-----------+-----------------+ | id | title | author | submission_date | +-----+----------------+-----------+-----------------+ | 100 | Learn PHP | John Poul | 2016-06-20 | +-----+----------------+-----------+-----------------+
HSQLDB — Программа JDBC
Ниже приводится программа JDBC, которая извлекает список данных учебных пособий, где имя автора начинается с Джона . Сохраните код в LikeClause.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); } } }
Вы можете запустить базу данных, используя следующую команду.
\>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
Скомпилируйте и выполните приведенный выше код с помощью следующей команды.
\>javac LikeClause.java \>java LikeClause
После выполнения следующей команды вы получите следующий вывод.