【SQL Server】SELECT 句 と WHERE 句 を用いた検索
テーブルから検索条件を指定してレコードを取得する方法の説明です。クエリの基本になります。
基本構文
SELECT カラム名 FROM テーブル名 WHERE 条件
内容
テーブルから検索条件を指定してレコードを取得するには WHERE 句を使います。
WHERE 句 を付けることによって説明を後ろから追加します。
事前準備としてテーブルを作成します。
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,'女')
単一の条件を指定
性別が’女’のみ取得場合比較演算子 = を使います。
SELECT * FROM T1 WHERE Gender = '女'
Id | Name | Birth | Death | Gender |
9 | 樋口一葉 | 1872 | 1896 | 女 |
範囲を指定
生れた年が1900年以降のみ取得する場合比較演算子 <= を使います。
SELECT * FROM T1 WHERE 1900 <= Birth
Id | Name | Birth | Death | Gender |
2 | 阿部公房 | 1924 | 1993 | 男 |
7 | 司馬遼太 | 1923 | 1996 | 男 |
8 | 太宰治 | 1909 | 1948 | 男 |
その他の比較用の演算子
- A = B(A と B が等しい)
- A <> B(A と B が等しくない。※標準)
- A != B(A と B が等しくない。T-SQL)
- A > B(A より B が小さい)
- A < B(A より B が大きい)
- A >= B(A が B 以上)
- A <= B(A が B 以下)
※「A >= 1900」 と 「1900 <= A」は意味は同じですが、出来れば左側が小さくなるようにした方が、後でクエリを見た時にわかりやすいです。
コメント