Chúng tôi đã xem xét cách truy vấn dữ liệu từ cơ sở dữ liệu bằng cách sử dụng câu lệnh SELECT trong hướng dẫn trước. Câu lệnh SELECT trả về tất cả các kết quả từ bảng cơ sở dữ liệu được truy vấn.Câu lệnh SELECT trả về tất cả các kết quả từ bảng cơ sở dữ liệu được truy vấn.
Tuy nhiên, đó là những lúc chúng tôi muốn hạn chế kết quả truy vấn trong một điều kiện cụ thể. Mệnh đề WHERE của SQL có ích trong các tình huống như vậy. Mệnh đề WHERE của SQL có ích trong các tình huống như vậy.
Mệnh đề WHERE Cú pháp
Cú pháp cơ bản cho mệnh đề WHERE khi được sử dụng trong câu lệnh SELECT như sau.
SELECT * FROM tableName WHERE condition;
ĐÂY
- "SELECT * FROM tableName" là câu lệnh CHỌN tiêu chuẩn là câu lệnh CHỌN tiêu chuẩn
- "WHERE" là từ khóa giới hạn tập kết quả truy vấn đã chọn của chúng tôi và "condition" là bộ lọc được áp dụng cho kết quả. Bộ lọc có thể là một phạm vi, giá trị đơn hoặc truy vấn phụ. là từ khóa giới hạn tập kết quả truy vấn đã chọn của chúng tôi và "condition" là bộ lọc được áp dụng cho kết quả. Bộ lọc có thể là một phạm vi, giá trị đơn hoặc truy vấn phụ.
Bây giờ chúng ta hãy nhìn vào một ví dụ thực tế .ví dụ thực tế .
Giả sử chúng tôi muốn nhận thông tin cá nhân của thành viên từ bảng thành viên với số thành viên số 1, chúng tôi sẽ sử dụng tập lệnh sau để đạt được điều đó.
SELECT * FROM `members` WHERE `membership_number` = 1;
Thực thi đoạn script trên trong bàn làm việc của MySQL trên "myflixdb" sẽ tạo ra các kết quả sau.
Mệnh đề WHERE kết hợp với - Toán tử AND logicToán tử AND logic
Mệnh đề WHERE khi được sử dụng cùng với toán tử logic AND, chỉ được thực thi nếu TẤT CẢ các tiêu chí lọc được chỉ định được đáp ứng.
Bây giờ chúng ta hãy xem một ví dụ thực tế - Giả sử chúng ta muốn có một danh sách tất cả các bộ phim trong thể loại 2 được phát hành năm 2008, chúng ta sẽ sử dụng kịch bản hiển thị dưới đây để đạt được điều đó.
SELECT * FROM `movies` WHERE `category_id` = 2 AND `year_released` = 2008;
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
Mệnh đề WHERE kết hợp với - OR Toán tử logic Toán tử logic
Mệnh đề WHERE khi được sử dụng cùng với toán tử OR, chỉ được thực thi nếu bất kỳ hoặc toàn bộ tiêu chí bộ lọc được chỉ định được đáp ứng.
Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2
SELECT * FROM `movies` WHERE `category_id` = 1 OR `category_id` = 2;
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau.
1 | Forgetting Sarah Marshal | Nicholas Stoller | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
Mệnh đề WHERE kết hợp với - OR Toán tử logicIN Keyword
Mệnh đề WHERE khi được sử dụng cùng với toán tử OR, chỉ được thực thi nếu bất kỳ hoặc toàn bộ tiêu chí bộ lọc được chỉ định được đáp ứng. IN giúp giảm số mệnh đề HOẶC bạn có thể phải sử dụng
Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau.
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau
1 | Forgetting Sarah Marshal | Nicholas Stoller | Mệnh đề WHERE kết hợp với - OR Toán tử logic | Mệnh đề WHERE khi được sử dụng cùng với toán tử OR, chỉ được thực thi nếu bất kỳ hoặc toàn bộ tiêu chí bộ lọc được chỉ định được đáp ứng. | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 | Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau. | |
2 | Pirates of the Caribean 4 | Nicholas Stoller | Mệnh đề WHERE kết hợp với - OR Toán tử logic | Mệnh đề WHERE khi được sử dụng cùng với toán tử OR, chỉ được thực thi nếu bất kỳ hoặc toàn bộ tiêu chí bộ lọc được chỉ định được đáp ứng. | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 | |
3 | Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau. | Pirates of the Caribean 4 | Rob Marshall | Mệnh đề WHERE kết hợp với - IN Keyword | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 | 12345 |
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau. trong từ khóa
Pirates of the Caribean 4
Rob Marshall
SELECT * FROM `members` WHERE `membership_number` NOT IN [1,2,3];
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau
4 | Forgetting Sarah Marshal | Nicholas Stoller | Mệnh đề WHERE kết hợp với - OR Toán tử logic | Mệnh đề WHERE khi được sử dụng cùng với toán tử OR, chỉ được thực thi nếu bất kỳ hoặc toàn bộ tiêu chí bộ lọc được chỉ định được đáp ứng. | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 |
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau.HOẠT ĐỘNG SO SÁNH
Pirates of the Caribean 4
Rob Marshall Bằng với
Mệnh đề WHERE kết hợp với - IN Keyword
SELECT * FROM `members` WHERE `gender` = 'Female';
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau.
1 | Forgetting Sarah Marshal | Nicholas Stoller | Mệnh đề WHERE kết hợp với - OR Toán tử logic | Mệnh đề WHERE khi được sử dụng cùng với toán tử OR, chỉ được thực thi nếu bất kỳ hoặc toàn bộ tiêu chí bộ lọc được chỉ định được đáp ứng. | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 | Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau. | |
2 | Pirates of the Caribean 4 | Nicholas Stoller | Mệnh đề WHERE kết hợp với - OR Toán tử logic | Mệnh đề WHERE khi được sử dụng cùng với toán tử OR, chỉ được thực thi nếu bất kỳ hoặc toàn bộ tiêu chí bộ lọc được chỉ định được đáp ứng. | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 | |
4 | Forgetting Sarah Marshal | Nicholas Stoller | Mệnh đề WHERE kết hợp với - OR Toán tử logic | Mệnh đề WHERE khi được sử dụng cùng với toán tử OR, chỉ được thực thi nếu bất kỳ hoặc toàn bộ tiêu chí bộ lọc được chỉ định được đáp ứng. | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 | Kịch bản sau đây có được tất cả các phim ở thể loại 1 hoặc loại 2 |
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau. Lớn hơn
Pirates of the Caribean 4
Rob Marshall
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau.
Pirates of the Caribean 4
Rob Marshall
SELECT * FROM `movies` WHERE `category_id` 1;
Việc thực thi đoạn script trên trong bàn làm việc của MySQL đối với "myflixdb" tạo ra các kết quả sau.
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Angels and Demons | NULL | 2007 | 6 |
9 | Angels and Demons | Davinci Code | 2005 | 8 |
Honey mooners
- John Schultz
- Tóm lược
- Mệnh đề WHERE của SQL được sử dụng để hạn chế số lượng hàng bị ảnh hưởng bởi truy vấn CHỌN, CẬP NHẬT hoặc XÓA.
- Mệnh đề WHERE có thể được sử dụng cùng với các toán tử logic như AND và OR, các toán tử so sánh như, = v.v.
- Khi được sử dụng với toán tử logic AND, tất cả các tiêu chí phải được đáp ứng.
Khi được sử dụng với toán tử logic OR, bất kỳ tiêu chí nào cũng phải được đáp ứng.
Từ khóa IN được sử dụng để chọn các hàng khớp với danh sách các giá trị.Chúng ta có thể sử dụng mệnh đề WHERE cùng với toán tử so sánh và toán tử logic logic để đạt được điều đó.
SELECT * FROM `movierentals` WHERE `return_date` < '2012-06-25' AND movie_returned = 0;
Teaser não
14 | Giả sử rằng chúng tôi muốn có một danh sách các phim đã thuê mà chưa được trả lại đúng hạn vào ngày 25/06/2012. Chúng ta có thể sử dụng mệnh đề WHERE cùng với toán tử so sánh và toán tử logic logic để đạt được điều đó. | Thực thi đoạn script trên trong bàn làm việc của MySQL cho kết quả như sau. | 2 | 2 | 0 |