1、Mysql查询语句的语法
1 select 2 distinct <select_list> 3 from <left_table> 4 <join_type> join <right_table> 5 on <join_condition> 6 where <where_condition> 7 group by <group_by list> 8 having <having_condition> 9 order by <order_by_condition> 10 limit <limit_number>
2、Mysql查查询语句的执行顺序
1、from:对查询指定的left_table计算笛卡尔乘积;
2、on:按照join_condition进行数据的过滤
3、join:添加关联外部表(right_table)数据
4、where:按照where_condition进行数据的过滤
5、group by:对数据进行分组操作
6、having:对分组后的数据按having_condition进行数据的过滤
7、select:选择指定的列
8、distinct:对指定列进行去重
9、order by:按照order_by_condition进行排序
10、limit:取出指定的记录
3、对limit用法的补充说明
(1)select * from t limit 1,3
(2)select * from t limit 3 offset 1
上面两种写法都表示查询表中的第2、3、4条数据记录。
说明:
(1)当limit后面跟两个参数的时候,第一个数表示要跳过的数量,后一位表示要取的数量
如:select* from t LIMIT 1,3 就是跳过第1条数据,从第2条数据开始取,取3条数据,也就是取2,3,4三条数据;
(2)当 limit后面跟一个参数的时候,该参数表示要取的数据的数量
如:select* from t LIMIT 3 表示直接取前三条数据;
(3)当 limit和offset组合使用的时候,limit后面只能有一个参数,表示要取的的数量,offset表示要跳过的数量
如:select * from article LIMIT 3 OFFSET 1 表示跳过第1条数据,从第2条数据开始取,取3条数据,也就是取2,3,4三条数据
参考资料:
https://www.cnblogs.com/dongml/p/10953846.html
原文:https://www.cnblogs.com/yif930916/p/14816753.html