SQL WHEREステートメント:ハウツーガイド
SQL WHERE句は、コマンドによって返される、または影響を受けるレコードの数を制限します。これは、SELECT、UPDATE、およびDELETE句で使用されます。 ANDキーワードを使用して、コマンドの影響を受けるレコードが満たす複数の条件を指定できます。
特定の条件を使用して、クエリの結果を除外したい場合があります。たとえば、営業マネージャーである従業員のリストを取得したい場合があります。または、特定の日付の後に誰が会社で働き始めたかを知りたい場合があります。
WHERE句を使用して、SQLコマンドの実行中に特定のレコードを除外できます。このステートメントは、SELECT、UPDATE、およびDELETE句と組み合わせて機能します。このガイドでは、WHERE句を使用してSQLでレコードをフィルタリングする方法について説明します。
SQLWHERE句
SQL WHERE句は、特定の条件を満たすレコードまたは一連の条件を満たすレコードをフィルタリングします。 WHERE句は、SQLステートメントの「FROM」句の後にあります。
このステートメントの構文は次のとおりです。
SELECT * FROM table WHERE column comparison value;
「SELECT*FROM table」は、標準の選択クエリです。 WHEREステートメントを使用して、クエリが返すレコードを制限します。 「列」とは、条件が満たされる必要がある列を指します。 「比較」と「値」は、私たちが行いたい比較を表しています。
考えられる比較は次のとおりです。
WHERE name == "Jeff"; WHERE age > 15; WHERE salary < 50000;
SQL ANDキーワードを使用して、複数のWHEREステートメントを指定できます。
参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。
平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。
SELECT*FROMテーブルWHEREcolumn1Comparison1 value1 AND column2 Comparison2 value2;
WHEREステートメントの例を見てみましょう。
SQL WHEREの例:SELECT
シニアセールスアソシエイトである従業員のリストを取得したいと思います。そのためには、次のSQLSELECTステートメントを使用できます。
SELECT name, title FROM employees WHERE title = 'Senior Sales Associate';
クエリは、基準を満たす次の行を返します。
名前|タイトル
-+ ————————
ジェフ|シニアセールスアソシエイト
アダム|シニアセールスアソシエイト
(2行)
上記のすべての従業員には、「シニアセールスアソシエイト」という肩書きがあります。
別の例を使用してみましょう。年間35,000ドル以上の収入があり、名前がAdamではないすべての従業員のリストを取得したいとします。次のSQLステートメントを使用できます。
SELECT name, salary FROM employees WHERE salary > 35000 AND name <> "Adam";
クエリは次のリストを返します。
名前|給与
——- + ——–
ジェフ| 38000
エマ| 50000
ジョナ| 50000
アダム| 38000
(4行)
アダムの名前は、彼が年間35,000ドル以上稼いでいるにもかかわらず、私たちの結果セットには含まれていません。これは、クエリで<>演算子を使用して彼の名前を除外したためです。
SQL句の場所:更新と削除
SQL WHERE句は、UPDATEおよびDELETEステートメントで機能します。
たとえば、会社のリストラがあった場合に、個々の従業員が勤務する支店名を更新するとします。これは、UPDATEステートメントを使用して行うことができます。
ルークの支店を「ボストン」から彼の新しいオフィスがある「ケンブリッジ」に変更したいと思います。これは、SQLUPDATEステートメントを使用して実行できます。
UPDATE employees SET branch = 'Cambridge' WHERE name = 'Luke';
Lukeのブランチを見つけるためにクエリを実行すると、次の結果セットが得られます。
名前|ブランチ
-+ ———–
ルーク|ケンブリッジ
(1行)
WHERE句はSQLDELETEコマンドで使用できます。
閉鎖されたアルバニー支店で働くすべての従業員の記録を削除したいとします。次のコマンドを使用してこれを行うことができます:
従業員のリストを取得すると、返される行数は8行ではなく6行になります。
DELETE FROM employees WHERE branch = 'Albany';
コードは6行を返します:
名前|ブランチ
——– + —————
マイク|スタンフォード
ハンナ|サンフランシスコ
ジェフ|サンフランシスコ
アレクシス|ボストン
アダム|サクラメント
ルーク|ケンブリッジ
(6行)
SQL演算子
SQL WHERE句は、論理演算子を使用してレコードを除外します。最初の例では、「等しい」演算子を使用して、シニアセールスアソシエイトの名前を確認しました。
句を使用するときにレコードを除外するために使用できる論理演算子は多数あります。これらは次のとおりです。
オペレーター | 説明 | 例 |
= | 等しい | WHERE name =‘Jake’ |
> | より大きい | 年齢>20 |
< | 未満 | 年齢<20 |
> = | 以上 | 給与=>50000 |
<= | 以下 | 給与<=40000 |
LIKE | パターンマッチング | 「Jo*」のような名前 |
IN | 指定された値がリスト内のいずれかに一致するかどうかを確認します | title IN(「セールスアソシエイト」、「セールスディレクター」) |
BETWEEN | 指定した値が他の値の範囲内にあるかどうかを確認してください | employee_month_awards BETWEEN 1 AND 5 |
結論
SQL WHERE句は、コマンドの影響を受けるレコードをフィルタリングします。 SQLのWHERE句は、SELECT、UPDATE、およびDELETEステートメントで使用できます。 ANDステートメントを使用して複数のWHERE句を指定できますが、WHEREキーワードを使用する必要があるのは1回だけです。
このチュートリアルでは、クエリ、SQL WHERE句、および更新または削除操作での句句の使用方法について説明しました。この句で使用できる条件演算子について説明しました。
プロのSQL開発者になることに興味がありますか? SQLの学習方法ガイドをご覧ください。このガイドには、SQLを習得するのに役立つ主要な学習リソースのリストが含まれています。
-
SQLServerのCOALESCEステートメント
この記事では、SQL ServerでCOALESCEステートメント処理関数を使用して、関数をより適切に視覚化およびキャプチャするための特定の構文と例を使用する方法について詳しく説明します。 説明 COALESCEステートメント 渡された式の中で最初のNULL以外の値を持つ式を返します。すべての式がNULLの場合、COALESCEはNULLを返します。 構文 SQL ServerでCOALESCEステートメントを使用するには、次の構文を使用します。 COALESCE (bieuthuc_1, bieuthuc_2,. bieuthuc_n) パラメータ : bieuthuc_1、bi
-
SQLServerのCURRENT_USERステートメント
この記事では、関数を使用してSQL ServerでCURRENT_USERステートメントを処理する方法を、関数をより適切に視覚化およびキャプチャするための特定の構文と例とともに詳しく説明します。 説明 CURRENT_USERステートメント SQLServerデータベース内の現在のユーザーの名前を返します。 構文 SQL ServerでCURRENT_USERステートメントを使用するには、次の構文を使用します。 CURRENT_USER ステートメントにはパラメータと引数はありません。 注 : CURRENT_USER関数の後に括弧()を付けないでください。 USER_NAME