18/08/2018, 10:47

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
0