Cmd+Option+F, type a condition into the row that appears, and press Enter.

Filter panel with column and raw SQL conditions
Filters are saved per connection, database, schema, and table, and survive a relaunch, unchecked rows included. A table with an active filter opens in a new tab rather than replacing the current one.
Redis shows a key-pattern search bar (
user:* and the like) with a key-type picker instead of the filter bar.Operators
Eighteen of them, and the menu shows the SQL each one produces.Case sensitivity
Contains, not contains, starts with, and ends with ignore case. Equals, not equals, IN, NOT IN, and regex respect it. Open the operator menu and use Match Case to flip either one for that row; anAa badge marks a row that is not on its usual setting.
On MySQL, MariaDB, SQL Server, SQLite, libSQL, and Cloudflare D1 the column’s collation decides, and no query can override it, so Match Case is dimmed. Their default collations already ignore case. Cassandra and Redis have no case-insensitive matching at all, so it is dimmed there too.
Combining conditions
Match all and Match any in the header join every row with AND or OR. There is no per-row choice and no grouping, so a mixed expression cannot be built out of rows. Put the parentheses in a raw SQL row instead, which enters the WHERE clause as a single parenthesized condition:Nested fields
On a document store such as MongoDB, a field holding an object or an array of objects is one column showing its JSON. The column picker also lists the paths inside it, socustomer.country and items.sku filter directly.

Column picker listing nested field paths under their parent
Fields inside an array
A row on a field inside an array gets one more control:
Filtering
items.price greater than 500 and items.name equal to Laptop with any element returns an order holding an expensive item and, separately, an item called Laptop. With same element on both rows it returns only orders holding one item that is both. any element is the default.

Two rows on items set to same element, so one array entry must satisfy both
Raw SQL
A new row starts in raw SQL, unless Default Column in the settings says otherwise, and picking a column from its picker switches it to column mode. Type any WHERE condition:Tab or Return inserts it, Escape dismisses the list without closing the filter bar. On a database that does not speak SQL the row is labeled Raw Filter and takes that database’s own syntax: on MongoDB, a filter document such as {"customer.country": "US"}.




