SERIES ▶ Làm quen với ngôn ngữ SQL và áp dụng trong Excel – phần 2 – lọc theo điều kiện với WHERE

Nội dung chính


Trong bài đầu tiên của series Làm quen với ngôn ngữ SQL và áp dụng trong Excel, các bạn đã làm quen với cấu trúc bảng dữ liệu trong ví dụ và câu lệnh SELECT dùng để truy vấn dữ liệu. Nếu vì 1 lý do nào đó, bạn đến với bài viết này mà chưa xem qua phần 1, thì bạn có thể xem lại ở đây. Phần 2 của series này sẽ mang đến cho các bạn một công cụ nữa khi sử dụng SQL trong Excel, đó là cách lọc dữ liệu theo điều kiện.

Download excel file kèm theo video

Những ví dụ về lọc dữ liệu theo điều kiện sử dụng WHERE trong SQL

Đầu tiên đây là bảng dữ liệu của chúng ta:

Đây là bảng dữ liệu được kết nối trực tiếp từ Excel Online, bạn cần sử dụng một trình duyệt Web hiện đại (Google Chrome, Firefox, Safari) để có thể xem được bảng Excel này trực tiếp. Tài liệu Excel này có thể được download tại đây

VBA101 – VBA cơ bản dành cho người mới bắt đầu

1. Cú pháp cơ bản của câu lệnh SQL với WHERE

	SELECT column1, column2, columnN 
	FROM table_name
	WHERE [condition]
	

Trong cú pháp cơ bản này:

  • column1, column2, columnN là tên các cột trong bảng tính hay cơ sở dữ liệu
  • table_name là tên bảng tính, hoặc tên vùng dữ liệu (Trong ví dụ, chúng ta làm việc với vùng dữ liệu A1:G20000)
  • [condition] là điều kiện để lọc dữ liệu

2. Lọc ra những dòng dữ liệu mà có cột Units nhiều hơn 50

Với yêu cầu này, chúng ta có thể sử dụng câu lệnh SQL sau đây:

	SELECT *
	FROM [A1:G20000]
	WHERE Units > 50
	

3. Lọc ra những dòng dữ liệu mà có cột Units nhiều hơn 50, của nhân viên tên Jones bán ở Hanoi:

	SELECT *
	FROM [A1:G20000]
	WHERE Units > 50
	AND Rep='Jones'
	AND Region='Hanoi'
	

Trong câu lệnh này, chúng ta có thể thấy được, nếu muốn lọc dựa trên nhiều hơn 1 điều kiện thì giữa các điều kiện, chúng ta sử dụng từ khoáAND

4. Lọc ra những dòng dữ liệu mà sản phẩm được bán ở Hanoi hoặc Dannang:

	SELECT *
	FROM [A1:G20000]
	WHERE Region = 'Hanoi'
	OR Region='Danang'
	

Ngoài cách sử dụng từ khoá ‘OR’, chúng ta có thể sử dụng câu SQL sau, cũng sẽ cho kết quả tương tự như vậy:

	SELECT *
	FROM [A1:G20000]
	WHERE Region
	IN ('Hanoi','Danang')
	

5. Lọc dữ liệu của những đơn hàng bán sản phẩm có đơn giá (Unit Cost) nhỏ hơn hoặc bằng $8.99

	SELECT * FROM [A1:G20000]
	WHERE [Unit Cost] <= 8.99
	

Lưu ý: Chúng ta có thể thấy được trong ví dụ này, tên cột của bảng tính này là “Unit Cost” có dấu cách ở trong. Tốt nhất để tránh xảy ra lỗi khi truy vấn dữ liệu thì chúng ta không nên viết tên cột có dấu cách hoặc kí tự đặc biệt (có nghĩa là không viết tên cột bằng tiếng Việt có dấu).

Chúng ta đã làm gì trong bài viết này?

Qua bài viết này, các bạn có thể thấy rằng, khả năng lọc dữ liệu trong Excel của SQL hoàn toàn có thể thoả mãn toàn bộ nhu cầu lọc dữ liệu dù phức tạp đến đâu. Có câu hỏi gì bạn đang thắc mắc? Hãy comment lại phía dưới, chúng ta sẽ cùng giải quyết. Hẹn gặp lại ở bài sau và chúc một ngày làm việc hiệu quả.

Trong lúc đó, có thể các bạn muốn xem các bài tiếp theo:

Download tài liệu kèm theo video

Download excel file