Table of contents Content Environment Getting Started Introduction What is PostgreSQL Introduction to PostgreSQL sample database Postgres on Windows Install PostgreSQL on Windows Connect to PostgreSQL database server Load the sample database into the PostgreSQL database server Postgres on Linux Install PostgreSQL on macOS Basic Querying Data SELECT Column alias ORDER BY SELECT DISTINCT Filtering Data WHERE AND OR LIMIT FETCH IN BETWEEN LIKE IS NULL Joining Multiple tables Joins Table aliases INNER JOIN LEFT JOIN RIGHT JOIN SELF JOIN FULL OUTER JOIN CROSS JOIN NATURAL JOIN Grouping data GROUP BY HAVING Set Operations UNION INTERSECT EXCEPT Grouping sets, Cube, and Rollup Grouping sets CUBE ROLLUP Subquery Subquery ANY ALL EXISTS Common Table Expressions PostgreSQL CTE Recursive query using CTEs Modifying Data Insert Insert multiple rows Update Update join Delete Upsert Transactions PostgreSQL Transaction Import & Export Data Import CSV file into Table Export PostgreSQL Table to CSV file Managing Tables Data types Create a table Select into Create table as Auto-increment Sequences Identity column Alter table Rename table Add column Drop column Change column data type Rename column Drop table Truncate table Temporary table Copy a table Understanding PostgreSQL constraints Primary key Foreign key UNIQUE constraint CHECK constraint NOT NULL constraint PostgreSQL Data Types in Depth Boolean CHAR, VARCHAR and TEXT NUMERIC Integer DATE Timestamp Interval TIME UUID Array hstore JSON User-defined data types Advanced PG-PGSQL Functions Adminstration API