PostgreSQL - WHERE Clause: Cổng vào việc Lọc Dữ liệu
Xin chào các nhà法师 cơ sở dữ liệu tương lai! Hôm nay, chúng ta sẽ bắt đầu một hành trình thú vị vào thế giới của PostgreSQL, cụ thể là tập trung vào mệnh đề WHERE. Là người giáo viên máy tính hàng xóm thân thiện của bạn, tôi ở đây để hướng dẫn bạn qua cuộc phiêu lưu này với rất nhiều ví dụ và giải thích. Vậy, hãy thắt dây an toàn và cùng chúng ta lặn sâu vào!
What is the WHERE Clause? (Gì là mệnh đề WHERE?)
Trước khi chúng ta nhảy vào chi tiết, hãy hiểu về mệnh đề WHERE là gì. Hãy tưởng tượng bạn đang ở trong một thư viện khổng lồ (dữ liệu của chúng ta) đầy sách (dữ liệu của chúng ta). Bây giờ, bạn muốn tìm tất cả các sách về rồng. Bạn không thể đi qua từng cuốn sách một, phải không? Đó là lúc người hùng của chúng ta, mệnh đề WHERE, ra vào! Nó giúp chúng ta lọc chính xác những gì chúng ta đang tìm kiếm trong cơ sở dữ liệu.
Mệnh đề WHERE giống như một bộ lọc kỳ diệu cho phép chúng ta xác định các điều kiện cho các hàng chúng ta muốn truy xuất từ một bảng. Đây là một công cụ vô cùng mạnh mẽ có thể tiết kiệm thời gian và làm cho truy vấn cơ sở dữ liệu của bạn hiệu quả hơn.
Syntax: The Blueprint of the WHERE Clause (Cú pháp: Bản đồ của mệnh đề WHERE)
Bây giờ, hãy nhìn vào cú pháp cơ bản của mệnh đề WHERE:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
Đừng lo lắng nếu điều này trông có vẻ đáng sợ ban đầu. Hãy nghĩ của nó như một công thức:
- SELECT: Chọn các nguyên liệu (cột) bạn muốn
- FROM: Chọn cuốn sách nấu ăn (bảng) bạn đang sử dụng
- WHERE: Xác định các hạn chế ăn kiêng (điều kiện)
Examples: Bringing the WHERE Clause to Life (Ví dụ: Đưa mệnh đề WHERE vào cuộc sống)
Example 1: Basic Comparison (Ví dụ 1: So sánh cơ bản)
Hãy bắt đầu với một ví dụ đơn giản. Giả sử chúng ta có một bảng叫做 students
với các cột id
, name
, và age
. Chúng ta muốn tìm tất cả các học sinh 18 tuổi.
SELECT name
FROM students
WHERE age = 18;
Truy vấn này sẽ trả về tên của tất cả các học sinh 18 tuổi. Dấu =
ở đây tương đương với "đúng bằng".
Example 2: Using Operators (Ví dụ 2: Sử dụng các toán tử)
Mệnh đề WHERE không chỉ giới hạn ở chỉ bằng. Chúng ta có thể sử dụng các toán tử khác nhau để tạo ra các điều kiện phức tạp hơn. Hãy tìm tất cả các học sinh lớn hơn 20 tuổi:
SELECT name, age
FROM students
WHERE age > 20;
Điều này sẽ cho chúng ta tên và tuổi của tất cả các học sinh lớn hơn 20 tuổi. Toán tử >
có nghĩa là "lớn hơn".
Example 3: Multiple Conditions with AND (Ví dụ 3: Nhiều điều kiện với AND)
Nếu chúng ta muốn tìm học sinh lớn hơn 20 tuổi và có id nhỏ hơn 100? Chúng ta có thể sử dụng toán tử AND:
SELECT name, age, id
FROM students
WHERE age > 20 AND id < 100;
Truy vấn này sẽ trả về tên, tuổi và id của học sinh thỏa mãn cả hai điều kiện.
Example 4: Using OR for Alternative Conditions (Ví dụ 4: Sử dụng OR cho các điều kiện thay thế)
Đôi khi chúng ta muốn tìm các hàng thỏa mãn một trong hai điều kiện. Hãy tìm học sinh hoặc 18 tuổi hoặc có id là 42:
SELECT name, age, id
FROM students
WHERE age = 18 OR id = 42;
Điều này sẽ trả về học sinh hoặc 18 tuổi hoặc có id là 42 (hoặc cả hai!).
Example 5: Working with Text Data (Ví dụ 5: Làm việc với dữ liệu văn bản)
Mệnh đề WHERE không chỉ dành cho số. Chúng ta cũng có thể sử dụng nó với dữ liệu văn bản. Hãy tìm tất cả các học sinh whose names start with 'A':
SELECT name
FROM students
WHERE name LIKE 'A%';
Toán tử LIKE
cho phép chúng ta sử dụng khớp mẫu. Dấu %
là một ký tự đại diện khớp với bất kỳ chuỗi ký tự nào.
Example 6: Using IN for Multiple Values (Ví dụ 6: Sử dụng IN cho nhiều giá trị)
Nếu chúng ta muốn tìm học sinh hoặc 18, 19, hoặc 20 tuổi? Thay vì viết một câu lệnh OR dài, chúng ta có thể sử dụng toán tử IN:
SELECT name, age
FROM students
WHERE age IN (18, 19, 20);
Truy vấn này sẽ trả về tất cả các học sinh 18, 19, hoặc 20 tuổi.
Example 7: Working with Dates (Ví dụ 7: Làm việc với ngày tháng)
PostgreSQL cũng cho phép chúng ta làm việc với ngày tháng trong mệnh đề WHERE. Giả sử chúng ta có một cột enrollment_date
trong bảng students
:
SELECT name, enrollment_date
FROM students
WHERE enrollment_date > '2023-01-01';
Điều này sẽ trả về tất cả các học sinh đã đăng ký sau ngày 1 tháng 1 năm 2023.
Common WHERE Clause Operators (Các toán tử phổ biến trong mệnh đề WHERE)
Dưới đây là bảng các toán tử thường được sử dụng trong mệnh đề WHERE:
Toán tử | Mô tả | Ví dụ |
---|---|---|
= | Bằng | WHERE age = 18 |
> | Lớn hơn | WHERE age > 20 |
< | Nhỏ hơn | WHERE id < 100 |
>= | Lớn hơn hoặc bằng | WHERE age >= 18 |
<= | Nhỏ hơn hoặc bằng | WHERE id <= 1000 |
<> or != | Không bằng | WHERE age <> 25 |
AND | Logic AND | WHERE age > 20 AND id < 100 |
OR | Logic OR | WHERE age = 18 OR id = 42 |
IN | Khớp bất kỳ giá trị nào trong danh sách | WHERE age IN (18, 19, 20) |
LIKE | Khớp mẫu | WHERE name LIKE 'A%' |
BETWEEN | Trong phạm vi | WHERE age BETWEEN 18 AND 25 |
IS NULL | Là giá trị null | WHERE phone IS NULL |
Conclusion: Your New Superpower (Kết luận: Siêu năng lực mới của bạn)
Chúc mừng! Bạn vừa mở khóa một siêu năng lực mới trong hành trình PostgreSQL của mình. Mệnh đề WHERE giống như một người bạn đồng hành đáng tin cậy sẽ giúp bạn lọc và tìm chính xác dữ liệu bạn cần. Nhớ rằng, thực hành là cách tốt nhất để thành thạo, vì vậy đừng ngần ngại thử nghiệm với các điều kiện và toán tử khác nhau.
Khi chúng ta kết thúc, tôi nhớ lại một học sinh曾经说过, "Học mệnh đề WHERE giống như học cách sử dụng kính lúp trong thế giới dữ liệu." Và họ đã đúng! Bạn bây giờ có công cụ để phóng to chính xác thông tin bạn cần.
Tiếp tục khám phá, tiếp tục truy vấn, và quan trọng nhất, tiếp tục vui vẻ với cơ sở dữ liệu. Đến gặp lại, chúc bạn viết mã vui vẻ!
Credits: Image by storyset