SQL Query Builder
Generate ready-to-use SQL query templates instantly. Enter your table name once and every SQL example below updates automatically. This page includes SELECT, COUNT, GROUP BY, HAVING, JOIN, CTE, Window Functions, PARTITION BY, Ranking Queries, Date Filters, Pagination, Insert, Update and Delete templates commonly used in PostgreSQL, MySQL, SQL Server and other relational databases.
SELECT * FROM your_table_name ORDER BY id DESC LIMIT 100;
Count Total Records Query
SELECT COUNT(*) AS total_records FROM your_table_name;
Maximum Value Query
SELECT MAX(id) AS max_id FROM your_table_name;
Minimum Value Query
SELECT MIN(id) AS min_id FROM your_table_name;
Average Value Query
SELECT AVG(id) AS average_id FROM your_table_name;
Sum Query
SELECT SUM(amount) AS total_amount FROM your_table_name;
Distinct Values Query
SELECT DISTINCT status FROM your_table_name;
Group By Query
SELECT status,
COUNT(*) AS total
FROM your_table_name
GROUP BY status;
Having Clause Query
SELECT status,
COUNT(*) AS total
FROM your_table_name
GROUP BY status
HAVING COUNT(*) > 10;
Order By Ascending Query
SELECT * FROM your_table_name ORDER BY id ASC;
Order By Descending Query
SELECT * FROM your_table_name ORDER BY id DESC;
Current Date Filter Query
SELECT * FROM your_table_name WHERE created_at >= CURRENT_DATE;
Last 7 Days Query
SELECT * FROM your_table_name WHERE created_at >= CURRENT_DATE - INTERVAL '7 days';
Last 30 Days Query
SELECT * FROM your_table_name WHERE created_at >= CURRENT_DATE - INTERVAL '30 days';
Pagination Query
SELECT * FROM your_table_name ORDER BY id LIMIT 50 OFFSET 0;
Common Table Expression CTE Query
WITH recent_rows AS (
SELECT *
FROM your_table_name
ORDER BY id DESC
LIMIT 100
)
SELECT *
FROM recent_rows;
Partition By Query
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY status
ORDER BY id DESC
) AS row_number
FROM your_table_name;
Rank Query
SELECT *,
RANK() OVER (
ORDER BY amount DESC
) AS rank_value
FROM your_table_name;
Dense Rank Query
SELECT *,
DENSE_RANK() OVER (
ORDER BY amount DESC
) AS dense_rank_value
FROM your_table_name;
Duplicate Records Query
SELECT email,
COUNT(*)
FROM your_table_name
GROUP BY email
HAVING COUNT(*) > 1;
Insert Query Template
INSERT INTO your_table_name (
column_1,
column_2
)
VALUES (
value_1,
value_2
);
Update Query Template
UPDATE your_table_name SET column_1 = value_1 WHERE id = 1;
Delete Query Template
DELETE FROM your_table_name WHERE id = 1;