SQL Serverはデータベース管理システムとして広く利用されていますが、その中でも「演算子」はデータを操作する際に欠かせない重要なツールです。
この記事では、SQL Serverで使用される主要な演算子の種類、使い方、そして実践例を詳しく解説します。初心者にも理解しやすいように丁寧に説明しますので、ぜひ最後までご覧ください。
演算子とは?
演算子とは、SQL Serverでデータ操作や条件式を記述する際に用いる記号やキーワードのことです。演算子は大きく以下の種類に分類されます。
- 算術演算子
数値の計算を行う際に使用します。- +:加算
- –:減算
- *:乗算
- /:除算
- %:剰余(余り)
- 比較演算子
値同士を比較して条件を評価します。- =:等しい
- <> または !=:等しくない
- <:より小さい
- >:より大きい
- <=:以下
- >=:以上
- 論理演算子
条件を組み合わせたり否定したりする際に使用します。- AND:すべての条件が真である場合に真
- OR:いずれかの条件が真である場合に真
- NOT:条件を否定する
- ビット演算子
ビット単位の演算を行います。- &:ビットAND
- |:ビットOR
- ^:ビットXOR
- ~:ビット否定
- <<:左シフト
- >>:右シフト
- 文字列演算子
文字列を結合するための演算子です。- +:文字列の連結
- その他の演算子
特殊な目的に使用される演算子です。- IN:リスト内の値を確認
- BETWEEN:範囲内かを確認
- LIKE:パターンマッチング
- IS NULL:NULL値の確認
演算子の使い方(実例付き)
ここでは、各演算子を使用した具体的なSQL文を紹介します。
算術演算子
SELECT 10 + 5 AS Sum, 10 - 5 AS Difference, 10 * 5 AS Product, 10 / 2 AS Quotient, 10 % 3 AS Remainder;
結果
Sum | Difference | Product | Quotient | Remainder |
---|---|---|---|---|
15 | 5 | 50 | 5 | 1 |
比較演算子
SELECT FirstName, Age
FROM Employees
WHERE Age >= 30 AND Age < 50;
説明:年齢が30以上50未満の従業員を抽出します。
論理演算子
SELECT ProductName, Price
FROM Products
WHERE Price > 1000 OR Price < 100;
説明:価格が1000円を超える、または100円未満の商品を取得します。
文字列演算子
SELECT FirstName + ' ' + LastName AS FullName
FROM Employees;
結果:従業員のフルネームを表示します。
その他の演算子
IN演算子
SELECT ProductName
FROM Products
WHERE CategoryID IN (1, 2, 3);
説明:カテゴリIDが1、2、3のいずれかに属する商品を抽出します。
BETWEEN演算子
SELECT OrderID, OrderDate
FROM Orders
WHERE OrderDate BETWEEN '2024-01-01' AND '2024-12-31';
説明:2024年内の注文を取得します。
演習問題
問題 1: 算術演算子
次のSQLを実行した場合、どのような結果になるでしょうか?
SELECT 20 % 7 AS Remainder;
問題 2: 比較演算子
以下の条件を満たすSQL文を作成してください。
従業員テーブルから「年齢が25歳以上30歳以下」の従業員を取得する。
問題 3: 論理演算子
製品テーブルから以下の条件を満たす製品を取得するSQLを作成してください。
価格が500以上で、かつ在庫が50以上である。
解答例
解答 1
SELECT 20 % 7 AS Remainder;
結果:6(20を7で割った余り)
解答 2
SELECT FirstName, Age
FROM Employees
WHERE Age >= 25 AND Age <= 30;
解答 3
SELECT ProductName
FROM Products
WHERE Price >= 500 AND Stock >= 50;
まとめ
SQL Serverの演算子は、データ操作を効率的に行うための重要なツールです。
本記事では、演算子の種類と使用例を詳しく解説しました。これらをマスターすることで、より高度なSQL文を書くスキルを身につけることができます。
次のステップとして、自分のデータベースで演習問題を試してみてください。