HomeGoogle DocsSpreadsheetThe Purpose of WHERE 1=1 in Google Sheets Query

The Purpose of WHERE 1=1 in Google Sheets Query

Published on

You may have seen the use of WHERE 1=1 in Google Sheets Query formulas. Usually, an IF logical test comes immediately after it.

Do you know the purpose of using WHERE 1=1 in the Query function in Google Sheets?

We use the above statement/string in the Google Visualisation API Query Language query to manipulate data in a specific way.

Syntax of the QUERY function: QUERY(data, query, [headers])

WHERE is one of the clauses in the query which is optional to use.

The purpose of the WHERE clause is to return only rows that match specific conditions.

If omitted, the formula would return all the rows unless there is no LIMIT clause present.

You May Like: What is the Correct Clause Order in Google Sheets Query?

But we can specify the WHERE clause and return all the rows (if the LIMIT clause is not present) using the said string/statement in Google Sheets Query.

The purpose of using WHERE 1=1 in Google Sheets Query is to specify a second condition without defining the first condition, or, in other words, we can say the first condition is equal to all rows.

A Real-Life Example (Explanation Follows):

Condition # 1: “All Fruits” (WHERE 1=1). It returns all rows and has no relation with the values in A1:A.

The (Real) Condition # 2: The criteria specified in cell B1 other than “All Fruits.” It’s related to the values in A1:A.

Example to WHERE 1=1 in Google Sheets Query

Example to WHERE 1=1 Google Sheets Query

Let’s consider fruit names in column A (cell range A1:A) as the data to use.

The following formula will return all the rows in this column.

Formula_1:

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

If we want to use the WHERE clause and return all the rows, we can use the below formula.

Formula_2:

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

That means Formula_1 = Formula_2.

Now I want to return all the rows if B1=”All Fruits.”

Here comes the real-life use of the statement WHERE 1=1 in Google Sheets Query.

Formula_3:

=QUERY({A1:A},"SELECT Col1 WHERE 1=1"&if(B1="All Fruits",""))

The IF statement returns blank if B1 is “All Fruits” because we have specified null in the value_if_true part of the statement.

Syntax: IF(logical_expression, value_if_true, value_if_false)

logical_expressionB1="All Fruits"

value_if_true""

value_if_false – We have yet to specify this parameter.

That means if B1=”All Fruits” Formula_3 = Formula_2.

Adding a Second Condition (‘All Rows’ is the First Condition)

We have yet to specify any condition in the Query WHERE clause that involves any column in the data.

The “All Fruits” returns all rows in the data. So it’s not a condition that involves any column in the data.

The below formula will return rows matching “Apple” in column 1. That means we have used one condition.

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

Note:- When using a string as literal, enclose them within single-quotes or double-quotes.

If we enter Apple in cell B1, specify it as '"&B1&"'.

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

Below, we will use Col1 = '"&B1&"' as the second condition. The first condition will be WHERE 1=1.

WHERE 1=1 (Real-Life Use)

In the following real-life scenario, we can apply WHERE 1=1 in a Google Sheets Query for filtering data.

B1=”Apple” – return rows containing “Apple.”

B1=”All Fruits” – return all the rows without applying any condition.

To do this, we should use Col1='Apple' (Col1 = '"&B1&"') as the second condition.

The second condition is usually followed by AND, OR, NOT logical operators in Query. Here we will use AND.

So Col1='Apple' becomes AND Col1='Apple' (AND Col1 = '"&B1&"').

Here we can use WHERE 1=1 in Google Sheets Query as the first condition.

In Formula_3, we haven’t specified the value_if_false part. There specify " AND Col1 = '"&B1&"'" (second condition).

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

If the value in B1=”All Fruits”, the formula becomes =QUERY({A1:A},"SELECT * WHERE 1=1").

If B1=”Orange”, the formula becomes =QUERY({A1:A},"SELECT * WHERE 1=1 AND Col1 = 'Orange'").

I’ve used the above formula in cell D1. Using data validation in cell B1, I’ve controlled the filter.

That’s all. Thanks for the stay. Enjoy!

Related:- Google Sheets: How to Get an All Selection Option in a Drop-down.

Prashanth KV
Prashanth KV
Your Trusted Google Sheets and Excel Guide Prashanth KV brings a wealth of experience in Google Sheets and Excel, cultivated through years of work with multinational corporations in Mumbai and Dubai. As a recognized Google Product Expert in Docs Editors, Prashanth shares his expertise through insightful blogging since 2012. Explore his blog for practical tips and guidance on maximizing your spreadsheet skills.

Creating Sequential Dates in Equally Merged Cells in Google Sheets

Do you know how to create sequential dates in equally merged cells across a...

Running Total By Month in Excel

This tutorial demonstrates how to calculate the running total by month in a range...

SORT and SORTBY – Excel Vs Google Sheets

While Excel offers the SORT and SORTBY functions for sorting a table, Google Sheets...

Get Top N Values Using Excel’s FILTER Function

When using the FILTER function in Excel to extract the top N values, it's...

More like this

Creating Sequential Dates in Equally Merged Cells in Google Sheets

Do you know how to create sequential dates in equally merged cells across a...

Interactive Random Task Assigner in Google Sheets

You have multiple tasks and multiple people. Here's a fun way to randomly assign...

Google Sheets Bar and Column Chart with Target Coloring

To color each data point in the column or bar chart according to the...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.