编写sql,特别是查询sql,那么我们怎么编写,怎么写出一个有效而且简洁的sql呢?
思想篇
了解表(关系)结构
我们首先要了解相关的表结构,如果单表可以实现,那么就不要关联,如果是多表关联才能实现,那么就要弄清楚表之间通过什么列进行关联,而且要考虑是内关联还是外关联。
表只是业务的形式化表示
不管是查询单表还是多表,都要分析出,数据的规律,说白了,单表的数据可以表示一个静态的业务,但是动态的业务是需要多表才能实现的,因此,可以通过总结表的数据的规律,来进行编写查询sql。
业务决定sql
表的数据表示了业务,那么业务的查询也要通过数据的规律来分析(业务决定sql),即通过业务—–分析数据规律——编写查询sql,按照这样的思路去开展!
了解sql语法
另外,表关联后,要知道怎么关联的,以及关联后的中间表是什么样子的,然后考虑关联条件或者where子句过滤掉了哪些数据,最后如果来组织(比如group by 或者order by)这些数据并进行聚合等等,还有就是有没有使用索引,是怎么执行查询计划的,要明白这个查询流程,这样写出的sql才是功能正常,并且性能最优的。