SQL Cheatsheet
This page is a quick reference for commonly used SQL commands and database operations. Whether you're preparing for interviews, learning DBMS, or building backend applications, this cheatsheet covers the essentials.
Database Operationsโ
Create Databaseโ
CREATE DATABASE company_db;
Use Databaseโ
USE company_db;
Delete Databaseโ
DROP DATABASE company_db;
Table Operationsโ
Create Tableโ
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
department VARCHAR(50),
salary DECIMAL(10,2),
joining_date DATE
);
View Table Structureโ
DESC employees;
Rename Tableโ
RENAME TABLE employees TO staff;
Delete Tableโ
DROP TABLE employees;
Insert Dataโ
Insert Single Rowโ
INSERT INTO employees
VALUES (1, 'John Doe', 'IT', 50000, '2025-01-15');
Insert Multiple Rowsโ
INSERT INTO employees
VALUES
(2, 'Alice', 'HR', 45000, '2025-02-10'),
(3, 'Bob', 'Finance', 55000, '2025-03-05');
Select Queriesโ
Select All Dataโ
SELECT * FROM employees;
Select Specific Columnsโ
SELECT name, salary
FROM employees;
Distinct Valuesโ
SELECT DISTINCT department
FROM employees;
Filtering Dataโ
WHERE Clauseโ
SELECT *
FROM employees
WHERE salary > 50000;
AND Operatorโ
SELECT *
FROM employees
WHERE department = 'IT'
AND salary > 40000;
OR Operatorโ
SELECT *
FROM employees
WHERE department = 'IT'
OR department = 'HR';
BETWEENโ
SELECT *
FROM employees
WHERE salary BETWEEN 40000 AND 60000;
INโ
SELECT *
FROM employees
WHERE department IN ('IT', 'HR');
LIKEโ
SELECT *
FROM employees
WHERE name LIKE 'A%';
Wildcardsโ
'A%'โ Starts with A'%A'โ Ends with A'%A%'โ Contains A'_A%'โ Second character is A
Sorting Dataโ
Ascending Orderโ
SELECT *
FROM employees
ORDER BY salary ASC;
Descending Orderโ
SELECT *
FROM employees
ORDER BY salary DESC;
Aggregate Functionsโ
COUNTโ
SELECT COUNT(*) AS total_employees
FROM employees;
SUMโ
SELECT SUM(salary)
FROM employees;
AVGโ
SELECT AVG(salary)
FROM employees;
MAXโ
SELECT MAX(salary)
FROM employees;
MINโ
SELECT MIN(salary)
FROM employees;
GROUP BYโ
Department-wise Employee Countโ
SELECT department,
COUNT(*)
FROM employees
GROUP BY department;
Department-wise Average Salaryโ
SELECT department,
AVG(salary)
FROM employees
GROUP BY department;
HAVING Clauseโ
SELECT department,
COUNT(*)
FROM employees
GROUP BY department
HAVING COUNT(*) > 2;
Update Dataโ
Update Recordโ
UPDATE employees
SET salary = 60000
WHERE id = 1;
Delete Dataโ
Delete Specific Rowโ
DELETE FROM employees
WHERE id = 1;
Delete All Rowsโ
DELETE FROM employees;
ALTER TABLEโ
Add Columnโ
ALTER TABLE employees
ADD email VARCHAR(100);
Modify Columnโ
ALTER TABLE employees
MODIFY salary DECIMAL(12,2);
Rename Columnโ
ALTER TABLE employees
RENAME COLUMN name TO employee_name;
Drop Columnโ
ALTER TABLE employees
DROP COLUMN email;
SQL Constraintsโ
Common Constraintsโ
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE,
age INT CHECK(age >= 18)
);
Constraint Typesโ
PRIMARY KEY
FOREIGN KEY
UNIQUE
NOT NULL
CHECK
DEFAULT
Joinsโ
INNER JOINโ
SELECT e.name,
d.department_name
FROM employees e
INNER JOIN departments d
ON e.department_id = d.id;
LEFT JOINโ
SELECT *
FROM employees e
LEFT JOIN departments d
ON e.department_id = d.id;
RIGHT JOINโ
SELECT *
FROM employees e
RIGHT JOIN departments d
ON e.department_id = d.id;
FULL OUTER JOINโ
SELECT *
FROM employees e
FULL OUTER JOIN departments d
ON e.department_id = d.id;
Subqueriesโ
Above Average Salaryโ
SELECT *
FROM employees
WHERE salary >
(
SELECT AVG(salary)
FROM employees
);
Viewsโ
Create Viewโ
CREATE VIEW high_salary_employees AS
SELECT *
FROM employees
WHERE salary > 50000;
Use Viewโ
SELECT * FROM high_salary_employees;
Indexesโ
Create Indexโ
CREATE INDEX idx_employee_name
ON employees(name);
Remove Indexโ
DROP INDEX idx_employee_name ON employees;
Transactionsโ
Commit Transactionโ
START TRANSACTION;
UPDATE accounts
SET balance = balance - 1000
WHERE id = 1;
UPDATE accounts
SET balance = balance + 1000
WHERE id = 2;
COMMIT;
Rollback Transactionโ
ROLLBACK;
Common Interview Queriesโ
Second Highest Salaryโ
SELECT MAX(salary)
FROM employees
WHERE salary <
(
SELECT MAX(salary)
FROM employees
);
Find Duplicate Recordsโ
SELECT name,
COUNT(*)
FROM employees
GROUP BY name
HAVING COUNT(*) > 1;
Delete Duplicate Recordsโ
DELETE e1
FROM employees e1
INNER JOIN employees e2
ON e1.name = e2.name
AND e1.id > e2.id;
Top 5 Highest Salariesโ
SELECT *
FROM employees
ORDER BY salary DESC
LIMIT 5;
SQL Execution Orderโ
FROM
WHERE
GROUP BY
HAVING
SELECT
ORDER BY
LIMIT
Referencesโ
Telemetry Integration
Completed working through this block? Sync progress to workspace.