PostgreSQL Cheat Sheet
SELECT Query
SELECT col1, col2
FROM table
JOIN table2 ON table1.col = table2.col
WHERE condition
GROUP BY column_name
HAVING condition
ORDER BY col1 ASC|DESC;
SELECT Keywords
DISTINCT
Entfernt doppelte Datensätze.
SELECT DISTINCT product_name
FROM product;
BETWEEN
SELECT product_name
FROM product
WHERE price BETWEEN 50 AND 100;
IN
SELECT product_name
FROM product
WHERE category IN ('Electronics','Furniture');
LIKE
SELECT product_name
FROM product
WHERE product_name LIKE '%Desk%';
Daten ändern
INSERT INTO tablename(col1,col2) VALUES(val1,val2);
UPDATE tablename SET col1=val1 WHERE condition;
DELETE FROM tablename WHERE condition;
Joins
- INNER JOIN
- LEFT JOIN
- RIGHT JOIN
- FULL JOIN
CREATE TABLE
CREATE TABLE tablename (
column_name data_type
);
ALTER TABLE
ALTER TABLE tablename ADD COLUMN columnname datatype;
Indizes
CREATE INDEX indexname ON tablename(cols);
DROP INDEX indexname;
Mengenoperatoren
- UNION
- UNION ALL
- INTERSECT
- EXCEPT
Aggregatfunktionen
- SUM
- COUNT
- AVG
- MIN
- MAX
CASE
CASE
WHEN name='John' THEN 'Name John'
ELSE 'Unknown'
END
CTE
WITH queryname AS (
SELECT col1,col2 FROM firsttable
)
SELECT * FROM queryname;
Window Functions
RANK() OVER (PARTITION BY gender ORDER BY fees_paid)
Subqueries
SELECT *
FROM employee
WHERE salary = (
SELECT MAX(salary)
FROM employee
);