# Comprehensive SQL Cheat Sheet ## Table of Contents 1. [Database Basics](#database-basics) 2. [SQL Syntax](#sql-syntax) 3. [Data Types](#data-types) 4. [Table Operations](#table-operations) 5. [Querying Data](#querying-data) 6. [Filtering Data](#filtering-data) 7. [Joins](#joins) 8. [Aggregate Functions](#aggregate-functions) 9. [Group By](#group-by) 10. [Subqueries](#subqueries) 11. [Transactions](#transactions) 12. [Indexes](#indexes) 13. [Views](#views) ## Database Basics ### Creating a Database ```sql CREATE DATABASE dbname; ``` ### Using a Database ```sql USE dbname; ``` ### Deleting a Database ```sql DROP DATABASE dbname; ``` ## SQL Syntax ### SELECT Statement ```sql SELECT column1, column2 FROM table_name; ``` ### WHERE Clause ```sql SELECT * FROM table_name WHERE condition; ``` ### ORDER BY Clause ```sql SELECT * FROM table_name ORDER BY column1 ASC, column2 DESC; ``` ### LIMIT Clause ```sql SELECT * FROM table_name LIMIT 10; ``` ## Data Types ### Numeric Types ```sql INT, FLOAT, DOUBLE, DECIMAL ``` ### Character Types ```sql CHAR, VARCHAR, TEXT ``` ### Date and Time Types ```sql DATE, TIME, DATETIME ``` ## Table Operations ### Creating a Table ```sql CREATE TABLE table_name ( column1 datatype, column2 datatype, ... ); ``` ### Altering a Table ```sql ALTER TABLE table_name ADD column_name datatype; ``` ### Dropping a Table ```sql DROP TABLE table_name; ``` ## Querying Data ### Basic SELECT ```sql SELECT * FROM table_name; ``` ### Aliasing Columns ```sql SELECT column1 AS alias1, column2 AS alias2 FROM table_name; ``` ## Filtering Data ### WHERE Clause ```sql SELECT * FROM table_name WHERE condition; ``` ### AND, OR, NOT ```sql SELECT * FROM table_name WHERE condition1 AND condition2; ``` ### IN Clause ```sql SELECT * FROM table_name WHERE column_name IN (value1, value2); ``` ## Joins ### INNER JOIN ```sql SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column; ``` ### LEFT JOIN ```sql SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column; ``` ### RIGHT JOIN ```sql SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column; ``` ## Aggregate Functions ### COUNT ```sql SELECT COUNT(column) FROM table_name; ``` ### SUM ```sql SELECT SUM(column) FROM table_name; ``` ### AVG ```sql SELECT AVG(column) FROM table_name; ``` ### MIN and MAX ```sql SELECT MIN(column), MAX(column) FROM table_name; ``` ## Group By ```sql SELECT column1, COUNT(column2) FROM table_name GROUP BY column1; ``` ## Subqueries ### Single-Row Subquery ```sql SELECT column1 FROM table_name WHERE column2 = (SELECT column2 FROM another_table WHERE condition); ``` ### Multi-Row Subquery ```sql SELECT column1 FROM table_name WHERE column2 IN (SELECT column2 FROM another_table WHERE condition); ``` ## Transactions ### Begin Transaction ```sql BEGIN; ``` ### Commit Transaction ```sql COMMIT; ``` ### Rollback Transaction ```sql ROLLBACK; ``` ## Indexes ### Creating an Index ```sql CREATE INDEX index_name ON table_name (column1, column2); ``` ### Dropping an Index ```sql DROP INDEX index_name; ``` ## Views ### Creating a View ```sql CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition; ``` ### Updating a View ```sql CREATE OR REPLACE VIEW view_name AS SELECT new_column1, new_column2 FROM table_name WHERE condition; ``` ### Dropping a View ```sql DROP VIEW view_name; ```