coding_knowladge
Harry
SQL Pro CheatSheet 2025
Basic SQL Syntax
✅ Select from a table
SELECT column1, column2 FROM table_name;
✅ Filter rows
SELECT * FROM table WHERE condition;
✅ Sort results
SELECT * FROM table ORDER BY column ASC/DESC;
✅ Remove duplicates
SELECT DISTINCT column FROM table;
Filtering & Conditions
SELECT * FROM employees WHERE salary > 50000 AND department = 'HR' ;
SELECT * FROM users WHERE name LIKE 'A%' ;
SELECT * FROM users WHERE age BETWEEN 18 AND 25;
SELECT * FROM customers WHERE country IN ('India', 'USA' );
Aggregate Functions
SELECT COUNT(*) FROM orders;
SELECT SUM(amount) FROM sales;
SELECT AVG(salary) FROM employees;
SELECT MIN(price), MAX(price) FROM products;
https://t.me/PDFMatrix
coding_knowladge
Harry
✅ GROUP BY & HAVING
SELECT department, COUNT(*) FROM employees GROUP BY department;
SELECT department, COUNT(*) FROM employees GROUP BY department
HAVING COUNT(*) > 5;
SQL Joins
JOIN TYPE Description
INNER Matching rows in both tables
LEFT All from left + matched right
RIGHT All from right + matched left
FULL All from both, matched & unmatched
SELECT * FROM orders o JOIN customers c ON o.customer_id = c.id;
Subqueries & Aliases
SELECT name FROM employees WHERE salary > (SELECT AVG(salary) FROM
employees);
SELECT name AS EmployeeName FROM users;
CASE Statement
SELECT name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
ELSE 'C'
END AS grade
FROM students; https://t.me/PDFMatrix
coding_knowladge
Harry
Window Functions
SELECT name, salary, RANK() OVER (ORDER BY salary DESC) AS rank FROM
employees;
SELECT *, ROW_NUMBER() OVER (PARTITION BY department ORDER BY
salary DESC) FROM employees;
String & Date Functions
String Functions:
UPPER(name)
LOWER (name)
LENGTH(name)
SUBSTRING(name, 1, 3)
Date Functions:
CURRENT_DATE
NOW()
DATE_ADD(order_date, INTERVAL 7 DAY)
DATEDIFF(end_date, start_date)
EXTRACT(YEAR FROM birth_date)
Data Types (For Table Creation)
INT, FLOAT, VARCHAR(255), TEXT, DATE, BOOLEAN
CREATE TABLE users (id INT, name VARCHAR(100), is_active BOOLEAN);
Table Operations (DDL)
CREATE TABLE employees (id INT, name TEXT);
ALTER TABLE employees ADD COLUMN salary INT;
DROP TABLE employees;
ALTER TABLE employees RENAME TO staff;
https://t.me/PDFMatrix
coding_knowladge
Harry
Insert, Update, Delete (DML)
INSERT INTO users (name, age) VALUES ('Avani', 25);
UPDATE users SET age = 26 WHERE name = 'Avani';
DELETE FROM users WHERE age < 20;
Constraints
PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, DEFAULT, CHECK
CREATE TABLE orders (id INT PRIMARY KEY, amount FLOAT CHECK (amount
>0));
Indexes & Optimization
CREATE INDEX idx_name ON employees(name);
DROP INDEX idx_name;
EXPLAIN SELECT * FROM orders WHERE customer_id = 5;
Views
CREATE VIEW active_users AS SELECT * FROM users WHERE is_active =
TRUE;
SELECT * FROM active_users;
Stored Procedures & Functions
CREATE PROCEDURE GetTotalOrders()
BEGIN
SELECT COUNT(*) FROM orders;
END:
If you want this in PDF format, comment "SQL"
and I will DM you the link to the PDF.https://t.me/PDFMatrix
coding_knowladge
Harry
Transactions
BEGIN;
SAVEPOINT beforeUpdate;
COMMIT;
ROLLBACK TO beforeUpdate;
CTE (Common Table Expressions)
WITH high_earners AS (
SELECT name, salary FROM employees WHERE salary > 100000 )
SELECT * FROM high_earners;
Set Operators: UNION / INTERSECT / EXCEPT
SELECT name FROM table1 UNION SELECT name FROM table2;
SELECT name FROM table1 INTERSECT SELECT name FROM table2;
SELECT name FROM table1 EXCEPT SELECT name FROM table2;
JSON & ARRAY Functions (Modern SQL)
SELECT JSON_EXTRACT(data, '$.name' ) FROM users;
SELECT ARRAY_AGG(name) FROM employees;
If you want this in PDF format, comment "SQL"
and I will DM you the link to the PDF.
https://t.me/PDFMatrix