Mục đích của WHERE 1=1 trong Google Sheets Query

Bạn có thể đã thấy việc sử dụng WHERE 1=1 trong các công thức Google Sheets Query. Thông thường, một kiểm tra logic IF sẽ ngay sau đó.

Nhưng bạn có biết mục đích của việc sử dụng WHERE 1=1 trong hàm Query của Google Sheets là gì không?

Chúng ta sử dụng câu lệnh/chuỗi trên trong truy vấn ngôn ngữ truy vấn Google Visualisation API Query Language để xử lý dữ liệu theo cách cụ thể.

Tác dụng của mệnh đề WHERE trong truy vấn

Mục đích của mệnh đề WHERE là chỉ trả về các hàng phù hợp với các điều kiện cụ thể.

Nếu bỏ qua, công thức sẽ trả về tất cả các hàng trừ khi không có mệnh đề LIMIT.

Ví dụ thực tế

Chúng ta có thể xác định mệnh đề WHERE và trả về tất cả các hàng (nếu không có mệnh đề LIMIT) bằng cách sử dụng WHERE 1=1 trong Google Sheets Query.

Ví dụ thực tế như sau:

Điều kiện 1: “Tất cả các loại trái cây” (WHERE 1=1). Nó sẽ trả về tất cả các hàng và không liên quan gì tới các giá trị trong cột A1:A.

Điều kiện thực tế thứ 2: Các tiêu chí được chỉ định trong ô B1 khác với “Tất cả các loại trái cây”. Nó liên quan đến các giá trị trong cột A1:A.

Example to WHERE 1=1 in Google Sheets Query

Ví dụ WHERE 1=1 trong Google Sheets Query

Hãy xem xét tên các loại trái cây trong cột A (dải ô A1:A) là dữ liệu để sử dụng.

Công thức sau sẽ trả về tất cả các hàng trong cột này.

Công thức_1: =QUERY({A1:A},”SELECT Col1″)

Nếu chúng ta muốn sử dụng mệnh đề WHERE và trả về tất cả các hàng, chúng ta có thể sử dụng công thức dưới đây.

Công thức_2: =QUERY({A1:A},”SELECT Col1 WHERE 1=1″)

Điều đó có nghĩa là Công thức_1 = Công thức_2.

Bây giờ tôi muốn trả về tất cả các hàng nếu B1 = “Tất cả các loại trái cây”.

Đây là việc sử dụng thực tế của câu lệnh WHERE 1=1 trong truy vấn Google Sheets.

Công thức_3: =QUERY({A1:A},”SELECT Col1 WHERE 1=1″&&IF(B1=”Tất cả các loại trái cây”,””))

Câu lệnh IF sẽ trả về giá trị trống nếu B1 là “Tất cả các loại trái cây” vì chúng ta đã chỉ định giá trị null trong phần value_if_true của câu lệnh.

Câu lệnh IF có cú pháp như sau: IF(expresssion_logic, value_if_true, value_if_false)

expresssion_logic – B1=”Tất cả các loại trái cây”

value_if_true – “”

value_if_false – Chúng ta vẫn chưa chỉ định tham số này.

Điều đó có nghĩa là nếu B1 = “Tất cả các loại trái cây” thì Công thức_3 = Công thức_2.

Thêm một điều kiện thứ hai (‘Tất cả các hàng’ là điều kiện đầu tiên)

Chúng ta vẫn chưa chỉ định bất kỳ điều kiện nào trong mệnh đề WHERE của truy vấn mà liên quan đến bất kỳ cột nào trong dữ liệu.

“Tất cả các loại trái cây” trả về tất cả các hàng trong dữ liệu. Vì vậy, đây không phải là một điều kiện liên quan đến bất kỳ cột nào trong dữ liệu.

Công thức dưới đây sẽ trả về các hàng khớp với “Táo” trong cột 1. Điều đó có nghĩa là chúng ta đã sử dụng một điều kiện.

=QUERY({A1:A},”SELECT Col1 WHERE Col1 = ‘Táo'”)

Lưu ý: Khi sử dụng một chuỗi như là một chuỗi chữ, hãy bao quanh chúng bằng dấu nháy đơn hoặc dấu nháy kép.

Nếu chúng ta nhập “Táo” vào ô B1, hãy chỉ định nó như là ‘”&B1&”‘.

=QUERY({A1:A},”SELECT Col1 WHERE Col1 = ‘”&B1&”‘”)

Bên dưới, chúng ta sẽ sử dụng mệnh đề Col1 = ‘”&B1&”‘ làm điều kiện thứ hai. Điều kiện đầu tiên sẽ là WHERE 1=1.

WHERE 1=1 (Sử dụng trong thực tế)

Trong kịch bản thực tế dưới đây, chúng ta có thể áp dụng WHERE 1=1 trong Google Sheets Query để lọc dữ liệu.

Nếu B1 = “Táo” – trả về các hàng chứa “Táo”.

Nếu B1 = “Tất cả các loại trái cây” – trả về tất cả các hàng mà không áp dụng bất kỳ điều kiện nào.

Để làm được điều này, chúng ta nên sử dụng Col1=’Táo’ (Col1 = ‘”&B1&”‘) làm điều kiện thứ hai.

Thường thì điều kiện thứ hai sẽ được theo sau bởi các toán tử logic AND, OR, NOT trong truy vấn. Ở đây chúng ta sẽ sử dụng AND.

Vì vậy Col1=’Táo’ trở thành AND Col1=’Táo’ (AND Col1 = ‘”&B1&”‘).

Ở đây chúng ta có thể sử dụng WHERE 1=1 trong Google Sheets Query làm điều kiện đầu tiên.

Trong Công thức_3, chúng ta chưa chỉ định phần value_if_false. Hãy chỉ định ” AND Col1 = ‘”&B1&”‘” (điều kiện thứ hai) ở đó.

=QUERY({A1:A},”SELECT * WHERE 1=1 “&IF(B1=”Tất cả các loại trái cây”,””,” AND Col1 = ‘”&B1&”‘)”)

Nếu giá trị trong ô B1 là “Tất cả các loại trái cây”, công thức sẽ trở thành =QUERY({A1:A},”SELECT * WHERE 1=1″).

Nếu B1 = “Cam”, công thức sẽ trở thành =QUERY({A1:A},”SELECT * WHERE 1=1 AND Col1 = ‘Cam'”).

Tôi đã sử dụng công thức trên trong ô D1. Sử dụng xác nhận dữ liệu trong ô B1, tôi đã kiểm soát bộ lọc.

Đó là tất cả. Cảm ơn bạn đã theo dõi. Chúc bạn có những trải nghiệm vui vẻ!

Xem thêm: Google Sheets: Cách có tùy chọn Chọn tất cả trong một danh sách thả xuống

Related posts