This cheat sheet provides a quick and easy way to reference common SQL queries with examples. It’s designed to serve as a handy tool to enhance your SQL skills. Contributions are always welcome! Feel free to submit pull requests to enrich the cheat sheet with more queries or improvements.
- Basic Data Retrieval
- Data Manipulation
- Aggregate and Reporting Functions
- Join Operations
- View Management
- Table Modifications
- Table Creation
SELECT * FROM employees;
SELECT name, salary FROM employees;SELECT DISTINCT department FROM employees;SELECT name, salary FROM employees WHERE department = 'IT';
SELECT * FROM employees WHERE salary > 50000;SELECT * FROM employees ORDER BY salary DESC;
SELECT * FROM employees ORDER BY department ASC, salary DESC;SELECT * FROM employees LIMIT 5;
SELECT * FROM employees LIMIT 10 OFFSET 5; -- Skip first 5 rows and fetch the next 10SELECT * FROM employees WHERE name LIKE 'J%'; -- Starts with J
SELECT * FROM employees WHERE name LIKE '%son'; -- Ends with 'son'SELECT * FROM employees WHERE department IN ('HR', 'IT', 'Finance');SELECT * FROM employees WHERE salary BETWEEN 40000 AND 60000;SELECT * FROM employees WHERE manager_id IS NULL;
SELECT * FROM employees WHERE manager_id IS NOT NULL;SELECT name AS employee_name, salary AS monthly_income FROM employees;
SELECT e.name, e.salary FROM employees AS e;SELECT name FROM employees WHERE department = 'IT'
UNION
SELECT name FROM employees WHERE department = 'HR';
SELECT name FROM employees WHERE department = 'IT'
UNION ALL
SELECT name FROM employees WHERE department = 'HR'; -- Allows duplicatesSELECT * FROM employees WHERE EXISTS (SELECT * FROM projects WHERE employees.id = projects.employee_id);SELECT department, COUNT(*) FROM employees GROUP BY department;SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 5;WITH high_salary AS (
SELECT * FROM employees WHERE salary > 60000
)
SELECT * FROM high_salary WHERE department = 'IT';INSERT INTO employees (name, department, salary) VALUES ('Alice', 'HR', 55000);
INSERT INTO employees VALUES (1, 'Bob', 'IT', 70000, 2);UPDATE employees SET salary = 75000 WHERE name = 'Alice';
UPDATE employees SET salary = salary * 1.05 WHERE department = 'IT';DELETE FROM employees WHERE name = 'Bob';
DELETE FROM employees WHERE department = 'Finance' AND salary < 45000;SELECT COUNT(*) FROM employees;
SELECT COUNT(DISTINCT department) FROM employees;SELECT MIN(salary) FROM employees;
SELECT MAX(salary) FROM employees WHERE department = 'IT';SELECT AVG(salary) FROM employees WHERE department = 'HR';SELECT SUM(salary) FROM employees WHERE department = 'Finance';SELECT e.name, p.project_name
FROM employees e
INNER JOIN projects p ON e.id = p.employee_id;SELECT e.name, p.project_name
FROM employees e
LEFT JOIN projects p ON e.id = p.employee_id;SELECT e.name, p.project_name
FROM employees e
RIGHT JOIN projects p ON e.id = p.employee_id;SELECT e.name, p.project_name
FROM employees e
FULL JOIN projects p ON e.id = p.employee_id;SELECT e1.name AS employee, e2.name AS manager
FROM employees e1
INNER JOIN employees e2 ON e1.manager_id = e2.id;CREATE VIEW high_salary_employees AS
SELECT * FROM employees WHERE salary > 70000;SELECT * FROM high_salary_employees;DROP VIEW high_salary_employees;ALTER TABLE employees ADD hire_date DATE;ALTER TABLE employees MODIFY salary DECIMAL(10, 2);ALTER TABLE employees DROP COLUMN hire_date;CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
department VARCHAR(50),
salary DECIMAL(10, 2),
manager_id INT
);This SQL cheat sheet provides essential SQL commands for quick reference. Feel free to add more examples.