PostgreSQL - Biểu thức

Xin chào các nhà法师 cơ sở dữ liệu tương lai! Hôm nay, chúng ta sẽ lặn sâu vào thế giới kỳ diệu của các biểu thức PostgreSQL. Đừng lo lắng nếu bạn là người mới; chúng ta sẽ bắt đầu từ cơ bản và dần dần nâng cao. Cuối cùng của bài hướng dẫn này, bạn sẽ có thể tạo ra các biểu thức như một chuyên gia!

PostgreSQL - Expressions

Biểu thức trong PostgreSQL là gì?

Trước khi chúng ta nhảy vào chi tiết, hãy hiểu biểu thức là gì. Trong PostgreSQL, một biểu thức là sự kết hợp của một hoặc nhiều giá trị, toán tử và hàm, được tính toán để ra một giá trị duy nhất. Hãy tưởng tượng nó như một công thức nấu ăn: bạn trộn các nguyên liệu khác nhau (giá trị) sử dụng các dụng cụ khác nhau (toán tử và hàm) để tạo ra một món ăn tuyệt vời (kết quả).

Bây giờ, hãy khám phá các loại biểu thức khác nhau trong PostgreSQL.

PostgreSQL - Biểu thức Boolean

Biểu thức Boolean giống như những câu hỏi đúng/sai trong bài kiểm tra của bạn. Chúng được tính toán để ra TRUE hoặc FALSE. Chúng rất hữu ích khi bạn muốn lọc dữ liệu hoặc ra quyết định trong các truy vấn cơ sở dữ liệu của bạn.

Các toán tử Boolean cơ bản

Dưới đây là bảng các toán tử Boolean phổ biến trong PostgreSQL:

Toán tử Mô tả Ví dụ
AND Trả về TRUE nếu cả hai điều kiện là TRUE a AND b
OR Trả về TRUE nếu ít nhất một điều kiện là TRUE a OR b
NOT Lật ngược kết quả NOT a

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

SELECT * FROM students WHERE age >= 18 AND grade = 'A';

Truy vấn này chọn tất cả học sinh từ 18 tuổi trở lên và có điểm'A'. Nó giống như nói, "Hiển thị cho tôi các học sinh lớn tuổi và điểm'A'!"

SELECT * FROM products WHERE category = 'Electronics' OR price > 1000;

Truy vấn này lấy tất cả các sản phẩm thuộc nhóm 'Electronics' hoặc có giá trên 1000 đô la. Nó giống như hỏi, "Những sản phẩm cao cấp hoặc công nghệ của chúng ta là gì?"

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

PostgreSQL cũng cung cấp các toán tử so sánh để tạo biểu thức Boolean:

Toán tử Mô tả
= Bằng nhau
<> hoặc != Không bằng nhau
< Nhỏ hơn
> Lớn hơn
<= Nhỏ hơn hoặc bằng
>= Lớn hơn hoặc bằng

Ví dụ:

SELECT name, salary FROM employees WHERE salary > 50000;

Truy vấn này tìm tất cả nhân viên có lương trên 50.000 đô la. Nó giống như hỏi HR, "Ai là những người có thu nhập cao nhất của chúng ta?"

PostgreSQL - Biểu thức Số học

Biểu thức số học trong PostgreSQL liên quan đến các phép toán toán học. Chúng giống như những bài toán toán học bạn đã giải trong trường,但现在 chúng giúp bạn xử lý số liệu trong cơ sở dữ liệu của bạn!

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

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

Toán tử Mô tả Ví dụ
+ Cộng a + b
- Trừ a - b
* Nhân a * b
/ Chia a / b
% Modulo (dư số) a % b
^ Lũy thừa a ^ b

Hãy sử dụng chúng trong một số truy vấn:

SELECT product_name, price, price * 0.9 AS discounted_price
FROM products;

Truy vấn này tính toán một mức giảm giá 10% cho tất cả các sản phẩm. Nó giống như là chủ cửa hàng hào phóng của bạn có một đợt giảm giá!

SELECT employee_name, salary, salary + (salary * 0.05) AS new_salary
FROM employees;

Tại đây, chúng ta đang tăng lương cho tất cả mọi người lên 5%. Điều đó có phải không tuyệt vời không?

Các hàm toán học

PostgreSQL cũng cung cấp nhiều hàm toán học. Dưới đây là một số ít:

Hàm Mô tả
ABS(n) Giá trị tuyệt đối
ROUND(n, m) Làm tròn đến m chữ số thập phân
POWER(x, y) X nâng lên y
SQRT(n) Căn bậc hai

Ví dụ:

SELECT order_id, total_amount, ROUND(total_amount, 2) AS rounded_total
FROM orders;

Truy vấn này làm tròn tổng số tiền thành hai chữ số thập phân, đảm bảo rằng các số liệu tài chính của bạn trông ngăn nắp và sạch sẽ.

PostgreSQL - Biểu thức Ngày

Biểu thức ngày trong PostgreSQL cho phép bạn manipulatie và tính toán các ngày và thời gian. Chúng giống như lịch và đồng hồ kỹ thuật số của bạn kết hợp!

Các hàm Ngày/Thời gian

PostgreSQL cung cấp nhiều hàm để làm việc với ngày và thời gian. Dưới đây là một số hàm phổ biến:

Hàm Mô tả
CURRENT_DATE Ngày hiện tại
CURRENT_TIME Thời gian hiện tại
CURRENT_TIMESTAMP Ngày và thời gian hiện tại
AGE(timestamp, timestamp) Tính toán sự khác biệt giữa hai timestamp
DATE_PART(text, timestamp) Lấy một phần của một giá trị ngày/thời gian

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

SELECT username, registration_date,
AGE(CURRENT_DATE, registration_date) AS account_age
FROM users;

Truy vấn này tính toán thời gian mỗi người dùng đã đăng ký. Nó giống như kiểm tra "tuổi" của từng tài khoản!

SELECT event_name, event_date,
DATE_PART('day', event_date) AS day_of_month
FROM events;

Tại đây, chúng ta đang lấy ngày trong tháng của từng ngày sự kiện. Điều này hữu ích cho việc tổ chức sự kiện theo ngày!

Toán tử khoảng cách

PostgreSQL cho phép bạn thực hiện phép toán với ngày và khoảng cách. Một khoảng cách đại diện cho một khoảng thời gian.

SELECT order_date,
order_date + INTERVAL '7 days' AS expected_delivery_date
FROM orders;

Truy vấn này tính toán ngày giao hàng dự kiến là 7 ngày sau ngày đặt hàng. Nó giống như là quản lý logistics, lên kế hoạch cho tất cả các lần giao hàng!

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 biểu thức PostgreSQL, từ logic Boolean đến xử lý số liệu và du lịch thời gian (ít nhất là một chút). Nhớ rằng, thực hành là cách tốt nhất để trở thành chuyên gia, vì vậy đừng ngần ngại thử nghiệm các biểu thức này trong cơ sở dữ liệu của riêng bạn. Chúc các bạn thành công với việc truy vấn!

Credits: Image by storyset