Select--from--where--group By--having--order by the execution order of these 6 query keywords:
1.from assemble data from different data sources;
2.where filters the record rows based on the specified criteria;
The 3.group by clause divides the data into multiple groupings;
4. Use aggregation functions for calculation;
5. Use the HAVING clause to filter the grouping;
6. Calculate all expressions;
7.select set output;
8. Use order by to sort the result set.
The following example is based on the Oracle self-bringing tablespace hr
Examples of 1:having and select execution instructions
Scenario: Which department has the most employees?
A
1 SELECTD1. Department_id,d2. Department_name2 fromEMPLOYEES D1JOINDepartments D2 onD1. department_id=D2. department_id3 GROUP byD1. department_id, D2. Department_name4 having Count(*)>= All(SELECT Count(*) fromEMPLOYEESGROUP byDEPARTMENT_ID)
B
1 SELECTD1. Department_id,d2. Department_name,Count(*)2 fromEMPLOYEES D1JOINDepartments D2 onD1. department_id=D2. department_id3 GROUP byD1. department_id, D2. Department_name4 having Count(*)>= All(SELECT Count(*) fromEMPLOYEESGROUP byDEPARTMENT_ID)
A, b results are the same, indicating having had prior to select execution
Query keyword Select--from--where--group By--having--order by execution order in Oracle