【SQL Server】論理演算子 AND・OR の使い方

SQL Server
この記事は約3分で読めます。

【SQL Server】論理演算子 AND・OR の使い方

WHERE 句 の中で使う 論理演算子 AND と OR について説明します。

 

内容

事前準備としてテーブルを作成します。

CREATE TABLE [dbo].[T1](
	[Id] INT  ,
	[Name] NVARCHAR(20) ,
	[Birth] INT ,
	[Death] INT ,
	[Gender] CHAR(2) ,
)


INSERT INTO T1(Id,Name,Birth,Death,Gender) VALUES
(1,'芥川龍之介',1892 ,1927,'男'),
(2,'阿部公房',1924 ,1993,'男'),
(3,'有島武郎',1878 ,1923,'男'),
(4,'江戸川乱歩',1894 ,1965,'男'),
(5,'川端康成',1899  ,1972,'男'),
(6,'菊池寛',1888 ,1948,'男'),
(7,'司馬遼太',1923  ,1996,'男'),
(8,'太宰治',1909  ,1948,'男'),
(9,'樋口一葉',1872  ,1896,'女')

 

AND(論理積)

論理積で複数の条件を指定する場合は、AND を使います。
生れた年が1900年以降かつ、没年1990年以前のみ取得

SELECT * FROM T1
WHERE 
            1900 <= Birth 
        AND Death <= 1990
Id Name Birth Death Gender
8 太宰治 1909 1948

 

OR(論理和)

論理和で複数の条件を指定する場合は、OR を使います。
生れた年が1900年以降または、性別が女のみ取得

SELECT * FROM T1
WHERE 
       1900 <= Birth 
    OR Gender = '女'
Id Name Birth Death Gender
2 阿部公房 1924 1993
7 司馬遼太 1923 1996
8 太宰治 1909 1948
9 樋口一葉 1872 1896

 

NOT(論理否定)

論理否定の条件を指定する場合は、NOT を使います。
比較演算子の <> でも同じ結果になります。
性別が’女’以外取得

SELECT * FROM T1
WHERE 
NOT Gender = '女'
Id Name Birth Death Gender
1 芥川龍之介 1892 1927
2 阿部公房 1924 1993
3 有島武郎 1878 1923
4 江戸川乱歩 1894 1965
5 川端康成 1899 1972
6 菊池寛 1888 1948
7 司馬遼太 1923 1996
8 太宰治 1909 1948

コメント

タイトルとURLをコピーしました