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 Cú pháp AND Hiển thị dữ ...
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
Cú pháp AND
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)
Cú pháp OR
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 |
Ví dụ 1
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;
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 |
Ví dụ 2
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 |
Ví dụ 3
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 |
Ví dụ 4 (Phối hợp giữa AND và OR)
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 |