SQL
SELECT Queries
SELECT * FROM table—Select all columns
SELECT col1, col2—Select specific columns
SELECT DISTINCT col—Unique values only
WHERE condition—Filter rows
ORDER BY col ASC|DESC—Sort results
LIMIT n OFFSET m—Paginate results
SELECT col AS alias—Column alias
SELECT * FROM t1, t2—Cross join (cartesian)
WHERE Clauses
= / != / <> / < / > / <= / >=—Comparison operators
AND / OR / NOT—Logical operators
BETWEEN a AND b—Range check
IN (val1, val2)—Match any in list
LIKE "%pattern%"—Pattern match (% = any)
IS NULL / IS NOT NULL—Null check
EXISTS (subquery)—Subquery returns rows?
col LIKE "_at"—_ matches single char
Joins
INNER JOIN t2 ON t1.id = t2.id—Matching rows in both
LEFT JOIN—All from left + matching right
RIGHT JOIN—All from right + matching left
FULL OUTER JOIN—All rows from both tables
CROSS JOIN—Cartesian product
SELF JOIN—Table joined to itself
NATURAL JOIN—Join on same-named columns
LEFT JOIN ... WHERE t2.id IS NULL—Rows only in left table
Aggregate Functions
COUNT(*)—Number of rows
COUNT(DISTINCT col)—Count unique values
SUM(col)—Total of values
AVG(col)—Average of values
MIN(col) / MAX(col)—Smallest / largest value
GROUP BY col—Group rows for aggregation
HAVING condition—Filter after GROUP BY
GROUP_CONCAT(col)—Concatenate grouped values
Data Modification
INSERT INTO t (cols) VALUES (vals)—Insert a row
INSERT INTO t SELECT ...—Insert from select
UPDATE t SET col = val WHERE—Update existing rows
DELETE FROM t WHERE—Delete rows
TRUNCATE TABLE t—Delete all rows (fast)
REPLACE INTO—Insert or update
INSERT ... ON CONFLICT—Upsert (Postgres)
INSERT ... ON DUPLICATE KEY—Upsert (MySQL)
Table Operations
CREATE TABLE t (col type)—Create new table
ALTER TABLE t ADD col type—Add column
ALTER TABLE t DROP col—Remove column
ALTER TABLE t RENAME TO new—Rename table
DROP TABLE t—Delete table entirely
CREATE INDEX idx ON t(col)—Create index
DROP INDEX idx—Remove index
CREATE VIEW v AS SELECT—Create view
Data Types (Common)
INT / INTEGER—Whole numbers
BIGINT—Large integers
DECIMAL(p,s)—Exact numeric
FLOAT / DOUBLE—Floating point
VARCHAR(n)—Variable-length string
TEXT—Long text
BOOLEAN—True / false
DATE / TIMESTAMP—Date and time
JSON / JSONB—JSON data (Postgres)
UUID—Unique identifier
Constraints
PRIMARY KEY—Unique row identifier
FOREIGN KEY REFERENCES—Link to another table
UNIQUE—No duplicate values
NOT NULL—Must have a value
DEFAULT val—Default value
CHECK (condition)—Validate on insert/update
AUTO_INCREMENT / SERIAL—Auto-incrementing ID
Subqueries & Window Functions
WHERE col IN (SELECT ...)—Subquery in WHERE
SELECT (SELECT ...) AS sub—Scalar subquery
WITH cte AS (SELECT ...)—Common table expression
ROW_NUMBER() OVER(ORDER BY)—Row numbering
RANK() OVER(PARTITION BY)—Rank within partition
LAG(col) OVER(ORDER BY)—Previous row value
COALESCE(a, b, c)—First non-null value
CASE WHEN ... THEN ... END—Conditional expression
allprintabledoc.com