SQL Notes (Beginner to Advanced)
What is SQL?
SQL (Structured Query Language) is used to communicate with databases. It helps in storing, manipulating, and
retrieving data efficiently.
Basic SQL Commands
SELECT - Retrieves data
INSERT - Adds new data
UPDATE - Modifies existing data
DELETE - Removes data
CREATE - Creates database objects
DROP - Deletes database objects
WHERE - Filters data
JOIN - Combines rows from two or more tables
SELECT Statement
SELECT column1, column2 FROM table_name WHERE condition;
Example:
SELECT name, age FROM employees WHERE department = 'HR';
INSERT INTO Statement
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
Example:
INSERT INTO employees (name, age, department) VALUES ('Alice', 30, 'Finance');
UPDATE Statement
UPDATE table_name SET column1 = value1 WHERE condition;
Example:
UPDATE employees SET age = 31 WHERE name = 'Alice';
DELETE Statement
DELETE FROM table_name WHERE condition;
SQL Notes (Beginner to Advanced)
Example:
DELETE FROM employees WHERE name = 'Alice';
CREATE TABLE
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
age INT,
department VARCHAR(50)
);
JOINS
INNER JOIN: SELECT a.column, b.column FROM tableA a INNER JOIN tableB b ON a.id = b.id;
LEFT JOIN: SELECT a.column, b.column FROM tableA a LEFT JOIN tableB b ON a.id = b.id;
GROUP BY and Aggregates
SELECT department, COUNT(*) AS total_employees FROM employees GROUP BY department;
Common functions: COUNT(), SUM(), AVG(), MAX(), MIN()
ORDER BY
SELECT name, age FROM employees ORDER BY age DESC;
Aliases
SELECT name AS EmployeeName FROM employees;
BETWEEN / IN / LIKE
BETWEEN: SELECT * FROM employees WHERE age BETWEEN 25 AND 35;
IN: SELECT * FROM employees WHERE department IN ('HR', 'IT');
LIKE: SELECT * FROM employees WHERE name LIKE 'A%';
Subqueries
SELECT name FROM employees WHERE department_id = (SELECT id FROM departments WHERE name = 'HR');
SQL Notes (Beginner to Advanced)
Views
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;
SELECT * FROM view_name;
Stored Procedures
CREATE PROCEDURE procedure_name AS BEGIN SQL_statement; END;
EXEC procedure_name;
Triggers
CREATE TRIGGER trigger_name BEFORE INSERT ON table_name FOR EACH ROW BEGIN SQL_statement; END;
Indexes
CREATE INDEX index_name ON table_name (column1);
Improves performance for SELECT queries.
Transactions
BEGIN TRANSACTION;
UPDATE employees SET salary = salary + 1000 WHERE id = 1;
COMMIT;
-- or ROLLBACK to undo changes