PostgreSQL - Operators: Hướng dẫn thân thiện về phép thuật cơ sở dữ liệu

Xin chào các pháp sư cơ sở dữ liệu tương lai! Hôm nay, chúng ta sẽ bắt đầu một hành trình đầy thú vị qua thế giới của các toán tử PostgreSQL. Đừng lo lắng nếu bạn là người mới bắt đầu lập trình - tôi sẽ là người hướng dẫn đáng tin cậy của bạn, và chúng ta sẽ khám phá chủ đề này từng bước một. Cuối cùng của bài hướng dẫn này, bạn sẽ ngạc nhiên vì biết được nhiều điều!

PostgreSQL - Operators

Các toán tử là gì?

Trước khi chúng ta đi sâu vào, hãy nói về toán tử là gì. Hãy tưởng tượng toán tử là những ký hiệu đặc biệt mà PostgreSQL sử dụng để thực hiện các hành động hoặc so sánh cụ thể. Chúng giống như những枝 c魔法 trong thế giới cơ sở dữ liệu - chỉ với một vài ký tự, bạn có thể làm những điều kỳ diệu!

Các toán tử số học trong PostgreSQL

Hãy bắt đầu với điều quen thuộc - toán học! PostgreSQL có các toán tử số học hoạt động giống như những toán tử bạn đã học ở trường.

Các toán tử số học cơ bản

Dưới đây là bảng các toán tử số học cơ bản:

Toán tử Mô tả Ví dụ
+ Cộng 5 + 3
- Trừ 7 - 2
* Nhân 4 * 6
/ Chia 10 / 2
% Modulo (dư) 7 % 3

Hãy xem chúng trong hành động:

SELECT 5 + 3 AS tong,
7 - 2 AS hieu,
4 * 6 AS tich,
10 / 2 AS thuong,
7 % 3 AS du;

Truy vấn này sẽ cho bạn:

tong | hieu | tich | thuong | du
-----|------|------|--------|---
8  |   5  |  24  |    5   | 1

Đó có phải là tuyệt vời không? Với chỉ một dòng, chúng ta đã thực hiện năm phép toán khác nhau!

Niềm vui với số học

Dưới đây là một câu chuyện nhỏ để giúp bạn nhớ các toán tử này. Hãy tưởng tượng bạn đang lên kế hoạch cho một buổi tiệc:

  • Bạn mời 5 bạn, nhưng 3 người khác đến (5 + 3 = 8 khách tham dự)
  • 2 người rời đi sớm (8 - 2 = 6 khách còn lại)
  • Bạn có 4 bánh pizza, cắt thành 6 miếng mỗi bánh (4 * 6 = 24 miếng bánh pizza)
  • Bạn chia đều các miếng bánh pizza cho 6 khách (24 / 6 = 4 miếng mỗi người)
  • Còn lại 1 miếng (25 % 6 = 1 dư)

Các toán tử so sánh trong PostgreSQL

Bây giờ, hãy chuyển sang các toán tử so sánh. Những toán tử này được sử dụng để so sánh các giá trị và trả về true hoặc false.

Bảng toán tử so sánh

Toán tử Mô tả Ví dụ
= Bằng 5 = 5
<> Không bằng 5 <> 3
< Nhỏ hơn 3 < 5
> Lớn hơn 5 > 3
<= Nhỏ hơn hoặc bằng 3 <= 3
>= Lớn hơn hoặc bằng 5 >= 5

Hãy sử dụng chúng trong một tình huống thực tế. Giả sử chúng ta có một bảng sản phẩm:

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;

Truy vấn này sẽ trả về:

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

Ở đây, chúng ta sử dụng toán tử '>' để tìm các sản phẩm có giá trên $500. Đó giống như hỏi, "Hiển thị cho tôi tất cả các mặt hàng đắt đỏ!"

Các toán tử logic trong PostgreSQL

Các toán tử logic cho phép chúng ta kết hợp nhiều điều kiện. Chúng giống như những người ra quyết định trong thế giới toán tử.

Bảng toán tử logic

Toán tử Mô tả Ví dụ
AND Cả hai điều kiện phải đúng a > 5 AND b < 10
OR Ít nhất một điều kiện phải đúng a > 5 OR b < 10
NOT Negates a condition NOT a = 5

Hãy sử dụng chúng trong ví dụ sản phẩm của chúng ta:

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

Truy vấn này sẽ trả về:

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

Chúng ta đang yêu cầu các sản phẩm có giá dưới $600 và có hơn 150 trong kho. Đó giống như nói, "Hiển thị cho tôi các sản phẩm giá rẻ mà chúng ta có nhiều!"

Các toán tử chuỗi bit trong PostgreSQL

Bây giờ, hãy bước vào lãnh thổ tiên tiến hơn - các toán tử chuỗi bit. Những toán tử này hoạt động trên các bit, các đơn vị dữ liệu nhỏ nhất trong máy tính.

Bảng toán tử chuỗi bit

Toán tử Mô tả Ví dụ
& Bitwise AND B'1010' & B'1100'
Bitwise OR
# Bitwise XOR B'1010' # B'1100'
~ Bitwise NOT ~ B'1010'
<< Bitwise shift left B'1010' << 1
>> Bitwise shift right B'1010' >> 1

Những toán tử này có thể看起来 abstract, vì vậy hãy phân tích chúng với một ví dụ:

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;

Điều này sẽ cho bạn:

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

Hãy tưởng tượng những điều này như những cái bắt tay bí mật giữa các bit. Chúng vô cùng hữu ích trong lập trình cấp thấp và xử lý dữ liệu!

Và thế là bạn đã có nó, các bạn! Chúng ta đã cùng nhau hành trình qua thế giới của các toán tử PostgreSQL, từ toán tử số học cơ bản đến thế giới huyền bí của các thao tác bit. Nhớ rằng, thực hành là cách tốt nhất để trở nên hoàn hảo, vì vậy đừng ngần ngại thử nghiệm các toán tử này trong các truy vấn của riêng bạn. Trước khi bạn biết, bạn sẽ viết các truy vấn phức tạp như một chuyên gia!

Credits: Image by storyset