Skip to content

🗄️ SQL Commands Cheat Sheet

📋 Quick Reference

DDL (Data Definition Language)

CREATE TABLE

CREATE TABLE table_name (
    column1 datatype constraints,
    column2 datatype constraints,
    ...
);

ALTER TABLE

ALTER TABLE table_name
ADD column_name datatype;

DROP TABLE

DROP TABLE table_name;

DML (Data Manipulation Language)

INSERT

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

UPDATE

UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;

DELETE

DELETE FROM table_name
WHERE condition;

SELECT Queries

Basic SELECT

SELECT column1, column2
FROM table_name;

SELECT with WHERE

SELECT *
FROM table_name
WHERE condition;

SELECT with ORDER BY

SELECT *
FROM table_name
ORDER BY column_name [ASC|DESC];

🔍 Filtering & Conditions

Comparison Operators

  • = : Equal to
  • != or <> : Not equal to
  • > : Greater than
  • < : Less than
  • >= : Greater than or equal to
  • <= : Less than or equal to

Logical Operators

  • AND : All conditions must be true
  • OR : At least one condition must be true
  • NOT : Negates the condition

Pattern Matching

-- Starts with
WHERE column_name LIKE 'prefix%'

-- Ends with
WHERE column_name LIKE '%suffix'

-- Contains
WHERE column_name LIKE '%substring%'

-- Single character wildcard
WHERE column_name LIKE 'prefix_'

🤝 JOINs

INNER JOIN

SELECT columns
FROM table1
INNER JOIN table2 ON table1.common_column = table2.common_column;

LEFT JOIN

SELECT columns
FROM table1
LEFT JOIN table2 ON table1.common_column = table2.common_column;

RIGHT JOIN

SELECT columns
FROM table1
RIGHT JOIN table2 ON table1.common_column = table2.common_column;

📊 Aggregate Functions

Common Aggregates

SELECT COUNT(column_name) FROM table_name;
SELECT SUM(column_name) FROM table_name;
SELECT AVG(column_name) FROM table_name;
SELECT MIN(column_name) FROM table_name;
SELECT MAX(column_name) FROM table_name;

GROUP BY

SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name;

HAVING

SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name
HAVING COUNT(*) > 1;

🎯 Common Patterns

Pagination

SELECT *
FROM table_name
LIMIT 10 OFFSET 20;

Subquery

SELECT *
FROM table_name
WHERE column_name IN (SELECT column_name FROM another_table WHERE condition);

CASE Statement

SELECT column_name,
    CASE
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ELSE default_result
    END AS new_column
FROM table_name;

🔍 Debugging Checklist

  • Table and column names are correct
  • Quotes are used properly for strings
  • WHERE clause is included for UPDATE/DELETE
  • JOIN conditions are correct
  • Aggregate functions have GROUP BY when needed
  • Subqueries return single values when required

⚡ Performance Tips

Optimization Guidelines

  • ✅ Use indexes on frequently queried columns
  • ✅ SELECT only needed columns, avoid SELECT *
  • ✅ Use appropriate JOIN types
  • ✅ Use LIMIT for large result sets
  • ✅ Consider EXISTS instead of IN for subqueries

Common Pitfalls

  • ❌ Missing WHERE clause in UPDATE/DELETE
  • ❌ Cartesian products in JOINs
  • ❌ NULL comparisons with = (use IS NULL)
  • ❌ String comparisons without proper casing

Last updated: Phase 3 Implementation