SQL - PostgreSQL: Execution Order

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

马上开始. 它是免费的哦
注册 使用您的电邮地址
SQL - PostgreSQL: Execution Order 作者: 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