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 bài kiểm tra logic IF sẽ ngay sau đó.

Bạn có biết mục đích của việc sử dụng WHERE 1=1 trong chức năng Query trong Google Sheets?

Chúng ta sử dụng câu lệnh/chuỗi trên để thao tác dữ liệu theo cách cụ thể trong truy vấn Ngôn ngữ Trực quan API Google.

Cú pháp của hàm QUERY: QUERY(data, truy vấn, [headers])

WHERE là một trong các mệnh đề trong truy vấn và có thể không sử dụng.

Mục đích của mệnh đề WHERE là chỉ trả về các hàng khớp với đ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.

Nhưng chúng ta có thể chỉ đị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 chuỗi/câu lệnh đã đề cập trong Google Sheets Query.

Mục đích của việc sử dụng WHERE 1=1 trong Google Sheets Query là chỉ định một điều kiện thứ hai mà không xác định điều kiện đầu tiên, hoặc, nói cách khác, chúng ta có thể nói điều kiện đầu tiên bằng tất cả các hàng.

Một Ví dụ Thực tế (Đặc giải tiếp theo):

Điều kiện #1: “All Fruits” (WHERE 1=1). Nó trả về tất cả các hàng và không có mối liên hệ với các giá trị trong A1:A.

Điều kiện (Thực tế) #2: Tiêu chuẩn được chỉ định trong ô B1 ngoại trừ “All Fruits”. Nó liên quan đến các giá trị trong 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 các tên trái cây trong cột A (phạm vi ô 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 = “All Fruits”.

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

Công thức_3: =QUERY({A1:A},"SELECT Col1 WHERE 1=1" & if(B1="All Fruits",""))

Câu lệnh IF trả về giá trị trống nếu B1 là “All Fruits” vì chúng ta đã chỉ định giá trị rỗng trong phần value_if_true của câu lệnh.

Cú pháp: IF(câu_lệnh_logic, giá_trị_nếu_đúng, giá_trị_nếu_sai)

câu_lệnh_logic – B1=”All Fruits”
giá_trị_nếu_đúng – ""
giá_trị_nếu_sai – Chúng ta vẫn chưa chỉ định tham số này.

Điều đó có nghĩa nếu B1=”All Fruits” Công thức_3 = Công thức_2.

Thêm một điều kiện thứ hai (‘All Rows’ 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 truy vấn mà liên quan đến bất kỳ cột nào trong dữ liệu.

“All Fruits” trả về tất cả các hàng trong dữ liệu. Vì vậ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 “Apple” trong cột 1. Điều đó có nghĩa chúng ta đã sử dụng một điều kiện.

=QUERY({A1:A},"SELECT Col1 WHERE Col1 = 'Apple'")

Lưu ý: Khi sử dụng một chuỗi như một giá trị cụ thể, hãy bao nó trong dấu nháy đơn hoặc dấu nháy kép.

Nếu chúng ta nhập “Apple” trong ô B1, hãy xác định nó như ‘”&B1&”‘.

=QUERY({A1:A},"SELECT Col1 WHERE Col1 = '"&B1&"'")

Dưới đây, chúng ta sẽ sử dụng 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 thực tiễn)

Trong kịch bản thực tế sau, chúng ta có thể áp dụng WHERE 1=1 trong truy vấn Google Sheets để lọc dữ liệu.

B1=”Apple” – trả về các hàng chứa “Apple”.
B1=”All Fruits” – 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 điều này, chúng ta nên sử dụng Col1=’Apple’ (Col1 = ‘”&B1&”‘) làm điều kiện thứ hai.

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

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

Ở đây chúng ta có thể sử dụng WHERE 1=1 trong truy vấn Google Sheets như điều kiện đầu tiên.

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

=QUERY({A1:A},"SELECT * WHERE 1=1 "&IF(B1="All Fruits",""," AND Col1 = '"&B1&"'"))

Nếu giá trị trong B1=”All Fruits”, công thức trở thành =QUERY({A1:A},"SELECT * WHERE 1=1").

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

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

Đó là tất cả. Cảm ơn vì đã đọc bài viết. Chúc bạn vui vẻ!

Liên quan: Google Sheets: Làm thế nào để có tùy chọn Chọn Tất cả trong một danh sách thả xuống.

Related posts