1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group
by子句将数据划分为多个分组;
4、使用聚集函数进行计算;
5、使用having子句筛选分组;
6、计算所有的表达式;
7、使用order
by对结果集进行排序。
简单的Select结构
Select SUM(*),distinct column
From Table a inner join Table b
where conditions and|or|between conditions in (select...)
group by <column>
having count(colume) condition
order by column ASC|DESC
要把我们语言思维种的语义变成SQL种的语句要注意几点:
1、首先看最后我们需要的是什么东西,也就是把select后面的字段搞清楚。
2、然后看要把这些字段搞清楚需要那些表来支持、是否需要要将多个表join起来,注意inner join形成的是一个X*X的字段。
3、比较难的地方在where后的conditions中,首先要看where语句中conditions是否只用and或or就能表达出来,如果不能的话那就用in 然后再在后面加一个select,相当与从一个新表中找到结果。
4、group by可以理解成将column distinct起来,在distinct的过程中可以用having 语句来从distinct中选择需要被显示出来的项目。