連載
» 2007年03月19日 00時00分 公開

あっという間に分かるSELECT文の書き方さらっと覚えるSQL&T-SQL入門(2)(2/3 ページ)

[石橋潤一,株式会社システムインテグレータ]

算術演算子の利用

 SQLでは、数値列に対して+(プラス)や−(マイナス)などの算術演算子を利用した柔軟な計算処理を行うことができます。以下のような算術演算子が利用可能です。

  • +  加算
  • −  減算
  • *  乗算
  • /  除算
  • %  剰余

 次のサンプルでは、ReorderPointという列に対し、1.2を乗算した値を取得しています。

SELECT ProductID,ReorderPoint * 1.2 AS NewReorderPoint
FROM Production.Product

図5 算術演算子の利用 図5 算術演算子の利用(画像をクリックすると拡大します)

 サンプルでは演算結果に対し別名(NewReorderPoint)を付与しています。演算を行った場合、元の列名は結果に引き継がれないため、列名が「列名なし」となってしまう点に注意してください。

WHERE句による絞り込み

 さて、ここからはSELECT文の主役ともいえる「WHERE」句によるデータの絞り込みを取り上げます。

 これまでのサンプルでは、データを常に全件取得していました。単純にデータを見るだけであれば問題はありませんが、特定のデータを抽出したい、という場合はWHERE句を利用します。WHERE句を利用した構文は次のとおりです。

SELECT 列名 FROM テーブル名 WHERE 条件 ……

 WHERE句で条件を指定する際には、次のような比較演算子を利用します。

  • =      等しい
  • >、<    より大きい、より小さい
  • >=、<=  以上、以下
  • <>     等しくない)

 また、WHERE句では複数の条件を指定できます。その場合は論理演算子を利用します。

  • AND  2つの条件が真の場合にTRUE
  • OR   どちらかの条件が真の場合にTRUE
  • NOT  条件式の結果を反転させる

 次のサンプルでは、Color列の値が「Silver」か「Black」、なおかつReorderPoint列の値が500以上、という条件で絞り込んでいます。

SELECT ProductID,Name
FROM Production.Product
WHERE (Color = 'Silver' OR Color = 'Black')
AND ReorderPoint >= 500

図6 WHERE句による絞り込み 図6 WHERE句による絞り込み(画像をクリックすると拡大します)

 論理演算子では「()」カッコを使用することで評価順を変更できます。WHERE句に複数の論理演算子が使われている場合、ANDが最初に評価されるので注意してください。上記のサンプルからカッコを外すと、Color列がBlackかつReorderPoint列が500以上の行、もしくはColor列がSilverの行、という絞り込みが行われます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。