Truy xuất dữ liệu dựa theo điều kiện trong MySQL
Cú pháp truy xuất dữ liệu dựa theo điều kiện WHERE là dạng nâng cao của SELECT. Nó cho phép bạn truy xuất dữ liệu dựa theo một điều kiện nào đó. Cú pháp SELECT * FROM name_table WHERE name_column operator value_column; Giải thích: Cú pháp trên truy xuất tất cả dữ liệu của các ...
Cú pháp truy xuất dữ liệu dựa theo điều kiện
WHERE là dạng nâng cao của SELECT. Nó cho phép bạn truy xuất dữ liệu dựa theo một điều kiện nào đó.
Cú pháp
SELECT * FROM name_table WHERE name_column operator value_column;
Giải thích: Cú pháp trên truy xuất tất cả dữ liệu của các cột trong bảng có tên là name_table với điều kiện là giá trị của cột name_column phải đúng với value_column dựa theo điều kiện so sánh operator.
Các điều kiện so sánh operator
Dưới đây là danh sách các điều kiện so sánh operator
= | So sánh hai giá trị bằng nhau |
<> | So sánh hai giá trị khác nhau |
!= | So sánh hai giá trị khác nhau |
> | Giá trị bên trái lớn hơn giá trị bên phải |
< | Giá trị bên trái nhỏ hơn giá trị bên phải |
>= | Giá trị bên trái lớn hơn hoặc bằng giá trị bên phải |
<= | Giá trị bên trái nhỏ hơn hoặc bằng giá trị bên phải |
BETWEEN | Giá trị nằm trong một khoảng nào đó (Sẽ nói rõ trong những bài hướng dẫn tiếp theo) |
LIKE | Dùng trong tìm kiếm chuỗi ký tự (Sẽ nói rõ trong những bài hướng dẫn tiếp theo) |
IN | Giá trị là một trong số các giá trị được nêu (Sẽ nói rõ trong những bài hướng dẫn tiếp theo) |
Một số ví dụ
Chúng ta có một bảng sinh_vien như sau:
(Bạn có thể bấm vào đây để download câu lệnh tạo bảng như bên dưới)
Full_name | Gender | Age | City |
---|---|---|---|
Nguyen Thanh Nhan | Nam | 19 | Can Tho |
Pham Thu Huong | Nu | 20 | Vinh Long |
Nguyen Nhu Ngoc | Nu | 20 | Soc Trang |
Bui Thanh Bao | Nam | 19 | Soc Trang |
Le My Nhan | Nu | 22 | Can Tho |
Tan Thuc Bao | Nam | 35 | An Giang |
Trinh Giao Kim | Nam | 44 | Bac Lieu |
Ví dụ 1
Truy xuất những sinh viên có giới tính là Nam
SELECT * FROM sinh_vien WHERE Gender = "Nam";
Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây
Full_name | Gender | Age | City |
---|---|---|---|
Nguyen Thanh Nhan | Nam | 19 | Can Tho |
Bui Thanh Bao | Nam | 19 | Soc Trang |
Tan Thuc Bao | Nam | 35 | An Giang |
Trinh Giao Kim | Nam | 44 | Bac Lieu |
Ví dụ 2
Truy xuất những sinh viên có tuổi lớn hơn hoặc bằng 22
SELECT * FROM sinh_vien WHERE Age >= 22;
Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây
Full_name | Gender | Age | City |
---|---|---|---|
Le My Nhan | Nu | 22 | Can Tho |
Tan Thuc Bao | Nam | 35 | An Giang |
Trinh Giao Kim | Nam | 44 | Bac Lieu |
Ví dụ 3
Truy xuất họ tên và tỉnh thành của những sinh viên có tuổi nhỏ hơn 22
SELECT Full_name, City FROM sinh_vien WHERE Age < 22;
Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây
Full_name | City |
---|---|
Nguyen Thanh Nhan | Can Tho |
Pham Thu Huong | Vinh Long |
Nguyen Nhu Ngoc | Soc Trang |
Bui Thanh Bao | Soc Trang |
Ví dụ 4
Truy xuất giới tính của sinh viên có họ tên là "Le My Nhan"
SELECT Gender FROM sinh_vien WHERE Full_name = "Le My Nhan";
Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây
Gender |
---|
Nu |