SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

【SQL Server】AND条件(AND演算子)の使い方を実例付きで解説

SQL ServerにおけるAND条件(AND演算子)は、SELECT文、INSERT文、UPDATE文、DELETE文の中で、2つ以上の条件を同時に評価するために使用されます。すべての条件を満たすレコードだけを抽出したい場合に不可欠な機能です。

AND条件の基本構文

WHERE 条件1
AND 条件2
...
AND 条件n;

パラメータの説明

条件1、条件2、…条件n: レコードが選択されるために満たす必要がある条件です。

押さえておきたいポイント

  1. SQL ServerのAND条件では、2つ以上の条件を組み合わせてチェックできます。
  2. AND条件ではすべての条件が真(TRUE)の場合にのみ、そのレコードが結果セットに含まれます。1つでも条件を満たさなければ除外される点に注意しましょう。

例1:SELECT文での使用

SELECT *
FROM nhanvien
WHERE ho = 'Smith'
AND nhanvien_id < 499;

この例では、姓(ho)が「Smith」であり、かつnhanvien_idが499未満である従業員のレコードがすべて返されます。SELECT句で「*」を指定しているため、テーブル内のすべてのフィールドが結果セットに含まれます。

例2:複数テーブルの結合

SELECT nhanvien.nhanvien_id, danhba.ho
FROM nhanvien, danhba
WHERE nhanvien.nhanvien_id = danhba.danhba_id
AND nhanvien.ten = 'Sarah';

上記のようにカンマ区切りでテーブルを並べる書き方でも動作しますが、現在では可読性と保守性の観点からINNER JOINを使うのが一般的です。

SELECT nhanvien.nhanvien_id, danhba.ho
FROM nhanvien
INNER JOIN danhba
ON nhanvien.nhanvien_id = danhba.danhba_id
WHERE nhanvien.ten = 'Sarah';

この例では、名(ten)が「Sarah」である従業員の行がすべて返され、nhanvienテーブルとdanhbaテーブルがnhanvien_idとdanhba_idによって結合されます。

なお、各フィールドにはテーブル名を接頭辞として付けています(例:danhba.ten)。これは、2つのテーブルに同じ名前のフィールドが存在する場合などに、どちらのテーブルのフィールドを参照しているのか曖昧にならないようにするためです。この場合、結果として返されるのはnhanvien_idとho(姓)のみです。

例3:INSERT文での使用

INSERT INTO danhba
(danhba_id, ho, ten)
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE ten = 'Joanne'
AND nhanvien_id >= 800;

この例では、名が「Joanne」であり、かつnhanvien_idが800以上であるレコードのdanhba_id、ho、tenの各値が、nhanvienテーブルから抽出されてdanhbaテーブルへ挿入されます。

例4:UPDATE文での使用

UPDATE nhanvien
SET ho = 'Johnson'
WHERE ho = 'TBD'
AND nhanvien_id < 300;

この例では、姓が「TBD」であり、かつnhanvien_idが300未満である従業員のレコードに対して、hoフィールドの値が「Johnson」に一括更新されます。

例5:DELETE文での使用

DELETE FROM nhanvien
WHERE ten = 'Darlene'
AND ho = 'Henderson';

このコマンドは、名が「Darlene」であり、かつ姓が「Henderson」である従業員のレコードをすべて削除します。削除系のコマンドでは条件を誤ると意図しないデータが消えるため、実行前に必ずSELECT文で対象を確認することをおすすめします。

まとめ

AND条件は、複数の条件をすべて満たすレコードだけを絞り込むための基本的かつ重要な演算子です。SELECT・INSERT・UPDATE・DELETEのいずれの場面でも活用でき、OR条件(いずれかの条件を満たせばよい)と使い分けることで、柔軟なデータ操作が可能になります。特にUPDATEやDELETEと組み合わせる場合は、条件設定を慎重に行いましょう。

  1. MS SQL Serverでサービスを開始・停止する方法を徹底解説

    MS SQL Serverには、データベースの作成や管理のために、2つの主要なサービスが用意されています。さらに、その他の目的に対応するための追加サービスも複数提供されています。MS SQL Serverの主要なサービスMS SQL Serverの2つの主要なサービスは以下の通りです。SQL ServerSQL Server Agentその他の追加サービスは以下の通りです。SQL Server BrowserSQL Server Full Text SearchSQL Server Integration ServicesSQL Server Reporting ServicesSQL Ser

  2. SQL Server 2016で非推奨・廃止された機能一覧|データベース移行前に確認すべきポイント

    元記事:Tricore(2017年6月14日公開)本記事では、SQL Server 2016で利用可能でありながら、将来のリリースで削除される予定のMicrosoft® SQL Server® Database Engineの非推奨機能について解説します。はじめにSQL Serverの新バージョンがリリースされるたびに、新機能については多くの情報を目にします。しかし、データベースを新しいバージョンへアップグレードする際には、非推奨となった機能に関する情報が十分に共有されていないことが少なくありません。アップグレード時にはロールバック機能が利用できないため、本番データベースを移行する前に、非推奨