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!
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