PostgreSQL - Операторы: Ваш верный гид по магии базы данных

Здравствуйте, будущие маги баз данных! Сегодня мы отправимся в увлекательное путешествие по миру операторов PostgreSQL. Не волнуйтесь, если вы новички в программировании – я буду вашим надежным проводником, и мы шаг за шагом изучим эту тему. К концу этого руководства вы будете удивлены, сколько вы узнали!

PostgreSQL - Operators

Что такое операторы?

Прежде чем мы углубимся, давайте поговорим о том, что такое операторы. Представьте операторы как особые символы, которые instruct PostgreSQL выполнять específicas действия или сравнения. Они как магические палочки мира баз данных – с помощью нескольких символов вы можете творить мощные вещи!

Арифметические операторы 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

Не круто ли? Всего одной строкой мы выполнили пять разных вычислений!

Fun с числами

Вот маленькая история, чтобы запомнить эти операторы. Представьте, что вы планируете вечеринку:

  • Вы пригласили 5 друзей, но еще 3出现了 (5 + 3 = 8 всего гостей)
  • 2 человека ушли рано (8 - 2 = 6 оставшихся гостей)
  • У вас есть 4 пиццы, разрезанные на 6 ломтиков каждая (4 * 6 = 24 totales ломтики)
  • Вы делите ломтики поровну между 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

Логические операторы позволяют нам комбинировать несколько условий. Они как decision-makers мира операторов.

Таблица логических операторов

Оператор Описание Пример
AND Оба условия должны быть истинными a > 5 AND b < 10
OR По крайней мере одно условие должно быть истинным 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 в наличии. Это как если бы мы сказали: "Покажи мне доступные продукты, которых у нас plenty!"

Битовые строковые операторы PostgreSQL

Теперь давайте перейдем к более сложной территории – битовым строковым операторам. Эти operate на битах,最小的 данных единиц в вычислениях.

Таблица битовых строковых операторов

Оператор Описание Пример
& Битовое И B'1010' & B'1100'
Битовое ИЛИ
# Битовое ИСКЛЮЧИТЕЛЬНОЕ ИЛИ B'1010' # B'1100'
~ Битовое НЕ ~ B'1010'
<< Битовое смещение влево B'1010' << 1
>> Битовое смещение вправо 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

Представьте их как тайные рукопожатия между битами. Они incredibly полезны в низкоуровневом программировании и манипулировании данными!

И вот мы и arrived, folks! Мы совершили путешествие через мир операторов PostgreSQL, от базовой арифметики до таинственной области битовых операций. Помните, что практика makes perfect, так что не бойтесь экспериментировать с этими операторами в своих запросах. Before you know it, вы будете писать сложные запросы как профессионал!

Credits: Image by storyset