Queries - Limits
On this page:
Query Limits
- Edition-wise Query Limits
- Professional - 100 queries
- Enterprise - 250 queries
- Ultimate - 500 queries
- Sources
- REST API Sources - 200 sources for both Enterprise and Ultimate editions
- SQL Sources - 5 for both Enterprise and Ultimate editions
Query Rules and Limitations
You can write SELECT, INSERT, UPDATE, and DELETE queries. The following are some of the important considerations for various operations.
SELECT Queries(Read Operation)
- Allowed in both read-only and writable sources.
- You must specify columns. SELECT * is not allowed. You can select up to 50 columns.
- All queries must include a LIMIT. If you do not add one, a default limit of 100 is applied. The maximum allowed limit is 100.
- Only basic data types are supported namely, numbers, strings, dates, timestamps, etc. Complex types like JSON, XML, arrays are not supported.
- You can use up to five joins between tables.
- GROUP BY, ORDER BY, WHERE, and HAVING clauses each allow up to 50 items/conditions.
- Sub-queries are not supported.
- All date and time stamp values must be in the ISO8601 format(e.g., 2025-07-15T10:00:00).
INSERT, UPDATE, DELETE(Write Operations)
- Only allowed in writable sources.
- You must mention columns explicitly in INSERT and UPDATE queries.
- Sub-queries are not allowed.
- Only basic data types are supported namely, numbers, strings, dates, timestamps, etc. Complex types like JSON, XML, arrays are not supported.
- All date and time stamp values must be in the ISO8601 format(e.g., 2025-07-15T10:00:00).
Supported SQL Functions
You can use the following common SQL functions.
- SUM()
- COUNT()
- AVG()
- MIN()
- MAX()
- LOWER()
- UPPER()
Sample Queries
SELECT Query for PostgreSQL, MySQL
SELECT
clients.client_name,
COUNT(clients.client_id) AS client_count,
SUM(clients.client_size) AS total_client_size,
AVG(clients.client_size) AS avg_client_size,
client_revenue.account_name,
client_revenue.bank,
clients.created_on AS client_joined_at
FROM CLIENTS AS clients
INNER JOIN CLIENT_REVENUE AS client_revenue
ON clients.account_no = client_revenue.account_no
WHERE
clients.created_on BETWEEN '2009-01-01T12:12:12' AND '2025-01-01T23:23:23'
AND (
(client_revenue.account_name LIKE 'P%' OR client_revenue.account_name LIKE '%KZ%')
AND clients.client_email IS NOT NULL
)
GROUP BY
clients.client_name,
clients.created_on,
client_revenue.account_name,
client_revenue.bank
HAVING
SUM(clients.client_size) > 500 AND
AVG(clients.client_size) > 100
ORDER BY
clients.client_name
OFFSET 1
LIMIT 4;SELECT Query for MicrosoftSQL
SELECT
clients.client_name,
COUNT(clients.client_id) AS client_count,
SUM(clients.client_size) AS total_client_size,
AVG(clients.client_size) AS avg_client_size,
client_revenue.account_name,
client_revenue.bank,
clients.created_on AS client_joined_at
FROM CLIENTS AS clients
INNER JOIN CLIENT_REVENUE AS client_revenue
ON clients.account_no = client_revenue.account_no
WHERE
clients.created_on BETWEEN '2009-01-01T12:12:12' AND '2025-01-01T23:23:23'
AND (
(client_revenue.account_name LIKE 'P%' OR client_revenue.account_name LIKE '%KZ%')
AND clients.client_email IS NOT NULL
)
GROUP BY
clients.client_name,
clients.created_on,
client_revenue.account_name,
client_revenue.bank
HAVING
SUM(clients.client_size) > 500 AND
AVG(clients.client_size) > 100
ORDER BY
clients.client_name
OFFSET 1 ROWS
FETCH NEXT 4 ROWS ONLY;INSERT
INSERT INTO CLIENTS(client_name, client_size, client_email, phone, client_designation, created_on, emp_dri) VALUES
('Test Motors', 1435, 'tm@abc.com', 4758437183, 'Supply Manager', '2025-07-24T13:40:00', 'Ross');UPDATE
update CLIENTS
set
client_name = 'Test Motors New',
client_size = 1500,
client_email = 'tmnew@gmail.com',
phone = 1234567890,
client_designation = 'Supply Head',
created_on = '2025-08-10T14:40:00',
emp_dri = 'Specter'
where
client_name = 'Test Motors' AND
client_size = 1435 AND
client_email = 'tm@gmail.com' AND
phone = 4758437183 AND
client_designation = 'Supply Manager' AND
created_on = '2025-07-24T13:40:00' AND
emp_dri = 'Ross'DELETE
DELETE FROM CLIENTS
WHERE
client_name = 'Test Motors New' AND
client_size = 1500 AND
client_email = 'tmnew@gmail.com' AND
phone = 1234567890 AND
client_designation = 'Supply Head' AND
created_on = '2025-08-10T14:40:00' AND
emp_dri = 'Specter'If your query does not meet these rules, Zoho CRM will return a helpful error message to guide you. This helps ensure smooth, efficient, and secure interaction with your connected databases.