JavaのWHERE句とは?SELECT・UPDATE・DELETEで対象データを絞り込む考え方

最終更新日

Schoo Java入門 中級 第1回 データベース処理

本記事は、Schooの「Java入門 中級【2026年版】」第1回「エンタープライズアプリケーションとデータベース処理」を学ぶ前後に、SQLの WHERE 句の考え方を整理したい方向けの記事です。

データベースの表には複数の行があります。WHERE 句は、その中から「どの行を対象にするか」を決めるために使います。

Schoo コースページ:Java入門 中級【2026年版】

WHERE句は対象行を絞り込むために使う

たとえば、songs テーブルからアーティストが Luna の曲だけを取り出したい場合、次のように書きます。

String sql = "SELECT id, title, artist FROM songs WHERE artist = 'Luna'";
図解:WHERE句は対象にする行を絞り込む
songsテーブル
id
title
artist
対象?
1
Night Drive
Luna
対象
2
Morning Light
Skyline
対象外
3
Blue Code
Luna
対象
WHERE artist = 'Luna'
artist列が「Luna」の行だけを対象にする
WHERE は、テーブル全体の中から条件に合う行だけを選ぶために使います。

WHERE がない場合は、基本的にテーブル全体が対象になります。WHERE を付けると、条件に合う行だけを対象にできます。

WHERE句はSELECTだけで使うものではない

WHERE はSELECT文だけで使うものではありません。UPDATE文やDELETE文でも、どの行を書き換えるか、どの行を削除するかを決めるために使います。

図解:同じWHEREでもSQLごとに意味が変わる
SELECT
SELECT ... WHERE id = 1
条件に合う行だけを
検索結果に出す
UPDATE
UPDATE ... WHERE id = 1
条件に合う行だけを
書き換える
DELETE
DELETE ... WHERE id = 1
条件に合う行だけを
削除する
WHERE句は「対象行を決める」部分です。何をするかは、SELECT・UPDATE・DELETEで変わります。

同じ WHERE id = 1 でも、SELECTで使えば「idが1の行を検索する」、UPDATEで使えば「idが1の行を書き換える」、DELETEで使えば「idが1の行を削除する」という意味になります。

WHERE句の条件は列・比較・値で読む

WHERE句の条件は、まず「どの列を、何と比べているのか」を見ると読みやすくなります。

図解:WHERE句の条件は「列・比較・値」で読む
SELECT id, title, artist FROM songs WHERE artist = ‘Luna’

artist
どの項目を見るか
比較
=
どう比べるか

'Luna'
何と比べるか
WHERE artist = 'Luna' は、「artist列の値がLunaの行」という条件です。

id = 1 なら「id列が1の行」、artist = 'Luna' なら「artist列がLunaの行」です。SQLでは文字列を 'Luna' のようにシングルクォーテーションで囲みます。

JavaではSQL文字列としてWHERE句を書く

JDBCで実行するときは、WHERE句もSQL文字列の一部として書きます。

String sql = "SELECT id, title, artist FROM songs WHERE id = 1";
ResultSet rs = stmt.executeQuery(sql);

このコードでは、id1 の行だけが検索結果になります。検索結果は ResultSet として受け取り、rs.next() で1行ずつ読みます。

UPDATEとDELETEではWHEREを書かない危険がある

WHERE句は、データを変更するときに特に重要です。UPDATEやDELETEでWHEREを書かないと、意図しない多くの行が対象になる可能性があります。

図解:WHEREがないと対象が広がる
WHEREあり
DELETE FROM songs WHERE id = 1
idが1の行だけが対象
WHEREなし
DELETE FROM songs
songsテーブル全体が対象
UPDATEとDELETEでは、WHEREを書かないSQLの影響範囲を必ず確認します。

SELECTでWHEREを書き忘れると、検索結果が多くなるだけで済む場合もあります。しかし、UPDATEやDELETEでWHEREを書き忘れると、データを書き換えたり削除したりしてしまいます。

確認問題

次の問題で、WHERE句の読み方を確認してみましょう。

第1問

次のWHERE句は、どのような行を対象にしていますか。

WHERE id = 1

第2問

次のSQLは、何をするSQLですか。

SELECT id, title, artist FROM songs WHERE artist = 'Luna'

第3問

次のSQLにはどのような危険がありますか。

UPDATE songs SET artist = '未設定'

確認問題の回答例を見る

まとめ

  • WHERE 句は、SQLで対象にする行を絞り込むために使う
  • SELECTでは検索対象、UPDATEでは更新対象、DELETEでは削除対象を決める
  • UPDATEやDELETEでは、WHEREを書かないと影響範囲が広がるため注意が必要

関連記事

シェアする