Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpDbWhr 258 of 322 menu
◀ ▶

Условие в SQL-выборке

Ключевое слово WHERE оставляет только строки, где предикат истинен. Значение из Java безопаснее передавать через "?", а не вшивать в текст.

Подготовленный SELECT с одним параметром ищет записи по совпадению поля:

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Statement; public class Main { public static void main(String[] args) throws Exception { try (Connection connection = DriverManager.getConnection("jdbc:sqlite:filter_demo.db")) { try (Statement statement = connection.createStatement()) { statement.execute(""" CREATE TABLE IF NOT EXISTS tags ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, group_code TEXT NOT NULL ) """); statement.executeUpdate( "INSERT INTO tags (name, group_code) VALUES ('alpha', 'g1')" ); statement.executeUpdate( "INSERT INTO tags (name, group_code) VALUES ('beta', 'g2')" ); } PreparedStatement query = connection.prepareStatement( "SELECT name FROM tags WHERE group_code = ?" ); query.setString(1, "g1"); var result = query.executeQuery(); while (result.next()) { System.out.println(result.getString("name")); } } } } }

Смена аргумента меняет набор строк без нового SQL. Числовые поля сравнивают через setInt и операторы вроде >=:

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Statement; public class Main { public static void main(String[] args) throws Exception { try (Connection connection = DriverManager.getConnection("jdbc:sqlite:filter_demo.db")) { PreparedStatement query = connection.prepareStatement( """ SELECT name FROM tags WHERE group_code = ? AND id >= ? """ ); query.setString(1, "g2"); query.setInt(2, 1); var result = query.executeQuery(); while (result.next()) { System.out.println(result.getString("name")); } } } } }

Создайте таблицу shifts в plant.db с полями worker, shift_code и hours, добавьте три строки и выведите имена, где hours не меньше 8.

Выведите имена смен с кодом смены "night".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить