SQLをプログラムで組み立てて実行するときで、条件によってWHERE句が変化する場合、ANDがつくかどうかでとても煩雑なコードになることがある。 以下の例のような感じだ。 StringBuilder sql = new StringBuilder(); sql.append("SELECT xxx, ... FROM xxx"); boolean where = false; if (条件1) { sql.appned(" WHERE hoge = ?"); where = true; } if (条件2) { if (where) { sql.append(" AND foo = ?"); } else { sql.appned(" WHERE foo = ?"); where = true; } } if (条件3) { if (where) { sql.append(" AND ba