PostgreSQL - 演算子:データベースの魔法のガイド

こんにちは、未来のデータベースの魔法使いさんたち!今日は、PostgreSQLの演算子の世界に興味深く飛び込みます。プログラミングが初めての方でも心配しないでください。私はあなたの信頼できるガイドとして、このトピックをステップバイステップで探求します。このチュートリアルの終わりには、あなたがどれだけ学んだかに驚くことでしょう!

PostgreSQL - Operators

演算子とは?

まず、演算子とは何かについて話しましょう。演算子は、PostgreSQLに特定のアクションや比較を行うように指示する特殊な記号です。データベースの世界の魔法の杖のようなものです。わずか数文字で強力なことが起こるようにできます!

PostgreSQLの算術演算子

まずは馴染みのあるものから始めましょう – 数学!PostgreSQLには、学校で学んだような算術演算子があります。

基本的な算術演算子

以下は基本的な算術演算子の表です:

演算子 説明
+ 加算 5 + 3
- 減算 7 - 2
* 掛け算 4 * 6
/ 除算 10 / 2
% モジュロ(余り) 7 % 3

これらを実行してみましょう:

SELECT 5 + 3 AS 加算,
7 - 2 AS 減算,
4 * 6 AS 掛け算,
10 / 2 AS 除算,
7 % 3 AS モジュロ;

このクエリは以下の結果を返します:

加算  | 減算 | 掛け算 | 除算 | モジュロ
--------|------|--------|------|---------
8    |   5  |   24   |   5  |    1

これってクールですね!一つの行で五つの異なる計算を行いました!

数字遊び

以下の小さな話でこれらの演算子を覚える手助けします。パーティを計画しているとします:

  • 5人の友達を招待したけど、3人も更多的人が来ました(5 + 3 = 8人のゲスト)
  • 2人が早く帰りました(8 - 2 = 6人の残りのゲスト)
  • 4枚のピザを6枚に切りました(4 * 6 = 24枚の合計)
  • ゲストの6人に均等に分けました(24 / 6 = 4枚の人あたり)
  • 1枚が残りました(25 % 6 = 1の余り)

PostgreSQLの比較演算子

次に比較演算子に移りましょう。これらは値を比較してtrueまたはfalseを返します。

比較演算子の表

以下は比較演算子の表です:

演算子 説明
= 等しい 5 = 5
<> 等しくない 5 <> 3
< 小さい 3 < 5
> 大きい 5 > 3
<= 小さいまたは等しい 3 <= 3
>= 大きいまたは等しい 5 >= 5

実際のシナリオでこれらを使用してみましょう。製品のテーブルがあるとします:

CREATE TABLE products (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
price DECIMAL(10, 2),
stock INT
);

INSERT INTO products (name, price, stock) VALUES
('Laptop', 999.99, 50),
('Smartphone', 599.99, 100),
('Headphones', 79.99, 200);

SELECT name, price
FROM products
WHERE price > 500;

このクエリは以下の結果を返します:

name   |  price
---------|--------
Laptop   | 999.99
Smartphone | 599.99

ここでは、'>500ドルの製品を表示する'という条件で使用しています。これは、「高価なもの全部見せてくれ!」というような感じです。

PostgreSQLの論理演算子

論理演算子は、複数の条件を結合するのに使用されます。これらは演算子の世界の意思決定者のようなものです。

論理演算子の表

以下は論理演算子の表です:

演算子 説明
AND 両方の条件がtrue a > 5 AND b < 10
OR いずれかの条件がtrue a > 5 OR b < 10
NOT 条件を否定 NOT a = 5

製品の例でこれらを使用してみましょう:

SELECT name, price, stock
FROM products
WHERE price < 600 AND stock > 150;

このクエリは以下の結果を返します:

name    | price | stock
---------|-------|------
Headphones | 79.99 |  200

ここでは、「600ドル未満で在庫が150以上の製品を表示する」という条件です。これは、「安い製品で在庫が豊富なものを見せてくれ!」というような感じです。

PostgreSQLのビット文字列演算子

今度は少し高度な領域に進みましょう – ビット文字列演算子。これらはビット単位でデータを操作します。

ビット文字列演算子の表

以下はビット文字列演算子の表です:

演算子 説明
& ビットwise AND B'1010' & B'1100'
ビットwise OR
# ビットwise XOR B'1010' # B'1100'
~ ビットwise NOT ~ B'1010'
<< ビットwiseシフト左 B'1010' << 1
>> ビットwiseシフト右 B'1010' >> 1

これらを具体的な例で見てみましょう:

SELECT
B'1010' & B'1100' AS bitwise_and,
B'1010' | B'1100' AS bitwise_or,
B'1010' # B'1100' AS bitwise_xor,
~ B'1010' AS bitwise_not,
B'1010' << 1 AS shift_left,
B'1010' >> 1 AS shift_right;

これは以下の結果を返します:

bitwise_and | bitwise_or | bitwise_xor | bitwise_not | shift_left | shift_right
------------|------------|-------------|-------------|------------|-------------
1000      |    1110    |    0110     |  11110101   |   10100    |    101

これらはビット間の「秘密の握手」とも言えます。低レベルのプログラミングやデータ操作に非常に有用です!

そして、ここまでがPostgreSQLの演算子の旅です!基本的な算術から不思議なビット操作まで、さまざまな演算子を探求しました。実践を重ねることで完璧にするので、自分のクエリでこれらの演算子を試してみてください。間もなくプロのように複雑なクエリを書けるようになるでしょう!

Credits: Image by storyset