WHERE

WHERE句についての詳細な解説と使用例。条件を指定してデータを絞り込む方法を学べます。

説明

WHERE句は SELECT・UPDATE・DELETE などのクエリで対象行を絞り込むための条件指定です。
比較演算子・論理演算子・LIKE・IN・BETWEEN など多彩な条件式を組み合わせて、必要なデータだけを操作できます。

基本構文
quest.sql
Loading...
例文

20歳以上のユーザーを取得

quest.sql
Loading...
— RESULT

クエリを実行してください

名前が「山田」で始まるユーザーを取得

quest.sql
Loading...
— RESULT

クエリを実行してください

電子機器または書籍カテゴリの商品を取得(IN句)

quest.sql
Loading...
— RESULT

クエリを実行してください

価格が1,000〜10,000円の商品を取得(BETWEEN句)

quest.sql
Loading...
— RESULT

クエリを実行してください

18歳以上30歳以下のユーザーを取得(AND条件)

quest.sql
Loading...
— RESULT

クエリを実行してください

注意点
  • NULLの比較には IS NULL / IS NOT NULL を使う

    = NULL は機能しない。NULL チェックは必ず IS NULL か IS NOT NULL を使用すること。

  • LIKE検索はインデックスが効きにくい

    前方一致('A%')はインデックスが使われるが、後方一致('%A')や部分一致('%A%')は全件スキャンになりやすい。

  • INリストが長すぎるとパフォーマンスが低下する

    IN句に大量の値を渡す場合は、サブクエリや一時テーブルとのJOINを検討すること。

  • AND と OR の優先順位に注意

    AND は OR より優先度が高い。意図した条件にするために括弧 () で明示的にグループ化すること。

使用シーン
  • 特定ユーザーの情報を取得するとき
  • 期間・範囲を絞ってデータを抽出するとき
  • 複数条件を組み合わせて検索するとき
  • UPDATE・DELETE の対象行を限定するとき
このクエリを実践するには?

#3 条件付き検索

初級WHERE句

usersテーブルから年齢が30歳未満のユーザーを取得してください。

#4 範囲検索

初級WHERE句ログインして解除

この問題にチャレンジするにはログインが必要です。ログインして全ての練習問題にアクセスしましょう。

#5 30歳以上のユーザー取得

初級WHERE句ログインして解除

この問題にチャレンジするにはログインが必要です。ログインして全ての練習問題にアクセスしましょう。

#8 電子機器カテゴリの商品

初級WHERE句ログインして解除

この問題にチャレンジするにはログインが必要です。ログインして全ての練習問題にアクセスしましょう。

#9 example.comドメインのメール

初級WHERE句ログインして解除

この問題にチャレンジするにはログインが必要です。ログインして全ての練習問題にアクセスしましょう。

#10 最新の注文を取得

初級WHERE句ログインして解除

この問題にチャレンジするにはログインが必要です。ログインして全ての練習問題にアクセスしましょう。

#13 数量が2以上の注文

初級WHERE句ログインして解除

この問題にチャレンジするにはログインが必要です。ログインして全ての練習問題にアクセスしましょう。

関連クエリ
QSQL Quest