SQL - PostgreSQL: Execution Order

Mind map detailing the execution order of clauses in SQL, used in the article: “SQL - PostgreSQL: Execution Order” on GitHub.

Iniziamo. È gratuito!
o registrati con il tuo indirizzo email
SQL - PostgreSQL: Execution Order da Mind Map: SQL - PostgreSQL: Execution Order

1. FROM

1.1. JOINs

1.1.1. LEFT

1.1.1.1. INNER

1.1.1.1.1. TABLE LEFT (TL)

1.1.2. INNER

1.1.2.1. T1 LEFT

1.1.2.1.1. EMPTY LINES TR = NULL

1.1.2.2. T1 RIGHT

1.1.2.2.1. EMPTY LINES = NULL

1.1.3. RIGHT

1.1.3.1. INNER

1.1.3.1.1. TABLE RIGHT (TR)

1.1.4. FULL

1.1.4.1. RIGHT

1.1.4.1.1. FULL LINES

1.1.4.2. LEFT

1.1.4.2.1. FULL LINES

2. WHERE

2.1. LINES

2.1.1. FROM

2.1.1.1. HAVING

2.1.2. JOINs

2.1.2.1. HAVING

2.2. COMPARISON OPERATORS

2.2.1. =, ! = or < >, >, <, > =, < =, IN, BETWEEN, LIKE, IS NULL

2.3. GROUP BY

2.3.1. HAVING

2.3.1.1. COUNT()

2.3.1.2. SUM()

2.3.1.3. MAX()

2.3.1.4. MIN()

2.3.1.5. AVG()

3. GROUP BY

3.1. UNAGGREGATED COLUMNS (SELECT)

3.2. HAVING

4. SELECT

4.1. DISTINCT

4.2. COLUMNS

4.3. AS (COLUMNS)

4.4. AGGREGATE FUNCTIONS

4.4.1. COUNT(), SUM(), AVG(), MAX(), MIN()

5. ORDER BY

5.1. ASC

5.1.1. WHERE

5.1.1.1. GROUP BY

5.1.1.1.1. HAVING

5.2. DESC

5.2.1. WHERE

5.2.1.1. GROUP BY

5.2.1.1.1. HAVING

6. LIMIT

6.1. LINES

6.1.1. ORDER BY

7. PERFORMACE TIPS

7.1. WHERE before JOIN (filter first)

7.2. Indexes on WHERE/JOIN columns

7.3. LIMIT for large queries

7.4. EXPLAIN ANALYZE for debugging