SQL 的基本功之一就是写好一条SELECT 语句。这篇资源把结构梳理得挺清楚,语法格式一目了然。SELECT [ALL|DISTINCT] 列名 FROM 表名,后面加上WHEREGROUP BY这些子句,就能组合出各种查询方式了。哦对了,语法顺序别写错,不然执行不了。

对比用ALL还是DISTINCT,其实看你要不要去重。一般报表类的查询,用DISTINCT还蛮常见的,避免重复数据。还有个小技巧,列名加上别名会更清晰,是做联合查询的时候。

你要是还搞不清GROUP BYHAVING这些的用法,建议去看看相关文章,有具体例子,蛮实用的:

不管你是写Oracle还是MySQLSELECT 语句的套路都差不多。区别主要在细节,比如函数和分页方式不同。你要是想更深入研究某个数据库的写法,也有专题文章:

如果你平时写报表、查日志数据比较多,这套语法掌握牢靠点,效率提升蛮大。而且也方便后续和框架(比如MyBatisHibernate)做对接。