Truy xuất dữ liệu dựa theo nhiều điều kiện trong MySQL
Nếu bạn muốn truy xuất dữ liệu với yêu cầu là dữ liệu phải thỏa nhiều hơn một điều điện, thì chúng ta dùng từ khóa AND.
Nếu bạn muốn truy xuất dữ liệu với yêu cầu là dữ liệu thỏa điều kiện này hoặc điều kiện khác, thì chúng ta dùng từ khóa OR.
Cú pháp
Hiển thị dữ liệu với yêu cầu là dữ liệu phải thỏa tất cả các điều kiện
SELECT *
FROM name_table
WHERE condition1 AND condition2 AND condition3;
Trong đó: condition là một biểu thức điều kiện(Ví dụ: Age > 22)
Hiển thị dữ liệu với yêu cầu là dữ liệu phải thỏa điều kiện này hoặc điều kiện khác
SELECT *
FROM name_table
WHERE condition1 OR condition2 OR condition3;
Trong đó: condition là một biểu thức điều kiện(Ví dụ: Age > 22)
Một số ví dụ
Ở bài học trước 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 |
Truy xuất những sinh viên có giới tính là nam và tuổi nhỏ hơn hoặc bằng 35
SELECT *
FROM sinh_vien
WHERE Gender="Nam" AND Age<=35;
Trong đó: condition là một biểu thức điều kiện(Ví dụ: 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 |
---|---|---|---|
Nguyen Thanh Nhan | Nam | 19 | Can Tho |
Bui Thanh Bao | Nam | 19 | Soc Trang |
Tan Thuc Bao | Nam | 35 | An Giang |
Truy xuất họ tên và giới tính của những sinh viên có giới tính là nam và sống ở Can Tho
SELECT Full_name, Gender
FROM sinh_vien
WHERE Gender="Nam" AND City="Can Tho";
Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:
Full_name | Gender |
---|---|
Nguyen Thanh Nhan | Nam |
Truy xuất những sinh viên sống ở Can Tho hoặc Vinh Long hoặc Soc Trang
SELECT *
FROM sinh_vien
WHERE City="Can Tho" OR City="Vinh Long" OR City="Soc Trang";
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 |
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 |
Truy xuất họ tên của những sinh viên nam sống ở Can Tho hoặc sinh viên nữ sống ở Soc Trang
SELECT Full_name
FROM sinh_vien
WHERE (Gender="Nam" AND City="Can Tho") OR (Gender="Nu" AND City="Soc Trang");
Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:
Full_name |
---|
Nguyen Thanh Nhan |
Nguyen Nhu Ngoc |
إرسال تعليق