G-LEARNING
G-LEARNING
Thảo luận 0 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 348 lượt xem

Hướng dẫn cách dùng mệnh đề WHERE trong MySQL và các toán tử AND, OR, IN, NOT IN

G-LEARNING
G-LEARNING
May 13 2020

Mệnh đề WHERE là gì?

Như chúng ta đã biết, 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 đôi lúc chúng ta 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.

Cú pháp của mệnh đề WHERE

Cú pháp cơ bản của mệnh đề WHERE khi được sử dụng trong câu lệnh SELECT như sau:

Trong đó:

  • “SELECT * FROM tableName” là câu lệnh SELECT chuẩn
  • “WHERE” là từ khóa giới hạn kết quả truy vấn và “condition” là bộ lọc áp dụng cho kết quả. “condition” có thể là phạm vi, giá trị đơn hoặc một truy vấn con.

Trước khi xem xét các ví dụ, bạn có thể tải dữ liệu myflixdb tại đây để thực hiện trong MySQL:

https://drive.google.com/uc?export=download&id=0B_vqvT0ovzHccjhtdGlrZ0MtZ0k

Giả sử chúng ta muốn lấy thông tin cá nhân của thành viên trong bảng members với mã số thành viên là 1. Câu lệnh sau sẽ giúp thực hiện điều đó:

Thực thi câu lệnh trên cho dữ liệu “myflixdb” trên MySQL sẽ cho ra kết quả sau:

Mệnh đề WHERE kết hợp với toán tử logic AND

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 chỉ định được đáp ứng.

Xem xét ví dụ sau – Giả sử chúng ta muốn lấy danh sách tất cả các phim có category_id là 2 và phát hành vào năm 2008. Thực hiện câu lệnh sau:

Chạy câu lệnh trên trong MySQL với dữ liệu “myflixdb” sẽ cho ra kết quả:

Mệnh đề WHERE kết hợp với toán tử logic OR

Mệnh đề WHERE khi kết hợp với toán tử logic OR chỉ được thực thi khi có bất kì hoặc toàn bộ tiêu chí lọc chỉ định được đáp ứng.

Kịch bản sau đây giúp chúng ta có được danh sách tất cả các phim có category_id là 1 hoặc 2:

Câu truy vấn trên cho ra kết quả:

Mệnh đề WHERE kết hợp với từ khóa IN

Mệnh đề WHERE khi sử dụng kết hợp với từ khóa IN chỉ ảnh hưởng đến các hàng có giá trị khớp với danh sách các giá trị được cung cấp trong từ khóa IN. IN giúp giảm số lượng của mệnh đề OR mà bạn phải sử dụng thay vào đó. 

Truy vấn sau đây cung cấp các hàng có membership_number là 1,2 hoặc 3:

Thực thi câu lệnh trên sẽ cho ra kết quả:

Mệnh đề WHERE kết hợp với từ khóa NOT IN

Mệnh đề WHERE khi sử dụng kết hợp với từ khóa NOT IN thì KHÔNG ảnh hưởng đến các hàng có giá trị khớp với danh sách các giá trị được cung cấp trong từ khóa NOT IN. 

Câu truy vấn sau cung cấp các hàng có membership_number không phải là 1,2 hoặc 3:

Thực hiện câu truy vấn trên cho “myflixdb” trong MySQL cho ra kết quả:

Mệnh đề WHERE kết hợp với toán tử so sánh

Có thể sử dụng các toán tử so sánh nhỏ hơn (<), lớn hơn (>), bằng (=), không bằng (<>) với mệnh đề WHERE.

Bằng (=)

Kịch bản sau đây nhận được danh sách tất cả các thành viên nữ từ bảng members bằng cách sử dụng toán tử so sánh:

Chạy câu lệnh trên bằng MySQL sẽ cho ra kết quả:

Lớn hơn (>)

Câu truy vấn sau sẽ nhận được tất cả các khoản thanh toán lớn hơn 2000 từ bảng payments. 

SELECT * FROM `payments` WHERE `amount_paid` > 2000;

Thực thi câu lệnh trên cho ra kết quả:

Không bằng (<>)

Kịch bản sau nhận được danh sách tất cả các phim có category_id khác 1:

Chúng ta có kết quả được hiển thị sau khi chạy câu lệnh trên là:

Tổng kết

  • Mệnh đề WHERE trong SQL được sử dụng để hạn chế số lượng hàng bị ảnh hưởng bởi câu lệnh SELECT, UPDATE hoặc DELETE
  • Mệnh đề WHERE có thể được sử dụng cùng với các toán tử logic như là AND và OR, toán tử so sánh như là =, >,<,…
  • Khi sử dụng WHERE cùng với toán tử logic AND, tất cả các tiêu chí phải được đáp ứng
  • Khi sử dụng WHERE 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 những hàng khớp với danh sách các giá trị.

Ngoài ra bạn có thể truy cập ngay https://gitiho.com/ để tìm hiểu thêm nhiều các khóa học hay về tin học văn phòng: Excel, Power Point, lập trình VBA, lập trình C#, SQL, thiết kế đồ họa… Có rất nhiều ưu đãi hấp dẫn đang chờ bạn.

Các bạn có thể tham khảo thêm các bài viết khác về cách sử dụng MySQL:

Hướng dẫn sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Hướng dẫn câu lệnh DELETE trong MySQL và ví dụ minh họa

Hướng dẫn câu lệnh UPDATE trong MySQL và các ví dụ

Đánh giá bài viết này

Gitiho.com Nền tảng học online duy nhất tại Việt Nam tập trung vào phát triển kỹ năng làm việc dành cho người đi làm
Với sứ mệnh: Mang cơ hội phát triển kỹ năng, phát triển nghề nghiệp tới hàng triệu người”, đội ngũ phát triển Gitiho.com đã và đang làm việc với những học viện, trung tâm đào tạo, các chuyên gia đầu ngành để nghiên cứu và xây dựng lên các chương trình đào tạo từ cơ bản đến chuyên sâu xung quanh các lĩnh vực: Tin học văn phòng, Phân tích dữ liệu, Thiết kế, Công nghệ thông tin, Kinh doanh, Marketing, Quản lý dự án...
Gitiho tự hào khi được đồng hành cùng:
  • 50+ khách hàng doanh nghiệp lớn trong nhiều lĩnh vực như: Vietinbank, Vietcombank, BIDV, VP Bank, TH True Milk, VNPT, FPT Software, Samsung SDIV, Ajinomoto Việt Nam, Messer,…
  • 100.000+ học viên trên khắp Việt Nam

Tìm hiểu ngay các khóa học của Gitiho TẠI ĐÂY



Thảo luận 0 câu trả lời
Lượt xem 348 lượt xem
Vỗ tay vỗ tay

0 Bình luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội