# BOOL_AND

You’ll learn how to use the BOOL_AND() function to aggregate boolean values.

## Overview

The BOOL_AND() function calculates all the boolean values in the aggregated group, which will have these results:

- true if all the values are true for every row.
- false if at least one row in the group is false.

The input and the return type must be in BOOL.

💡NULL values are not aggregated, so it will return NULL if there are zero input rows.

## Examples

In this example, we will use a **payment** table that stores details of the orders, whether the order has been paid or unpaid by the customer:

The above query will show the following table:

### #Case 1: BOOL_AND with a false result

We will find out if all customers have paid for their orders using the query below:

In the BOOL_AND function, if there is at least one FALSE value, the overall result will be FALSE. The final output shows that there is an order that hasn’t been paid.

### #Case 2: BOOL_AND with a true result

We will find out if Maya has paid for her orders using the query below:

In the BOOL_AND function, if all values are TRUE, then the overall result will be TRUE. The final output shows that Maya has paid all her orders.