MySQL (二) 练习总结

221 阅读1分钟
常见知识点:

(1)limit limit n,排序后前n条; limit m,n 跳过第m条,取n条 ,例如:0,3对应1、2、3 2,3 对应 3,4,5 当 limit和offset组合使用的时候,limit后面只能有一个参数,表示要取的的数量,offset表示要跳过的数量 。 例如select * from article LIMIT 3 OFFSET 1 表示跳过1条数据,从第2条数据开始取,取3条数据,也就是取2,3,4三条数据

(2)join join:默认是inner join left join = left outer join:左表数据全部显示,右表只显示符合关联条件的数据; right join = right outer join:右表数据全部显示,左表只显示符合关联条件的数据; inner join:组合两个表中的记录,只返回两个表中关联条件相符的记录。 full join: mysql中没有该类型join,可以使用union实现

SELECT * FROM `study1` s1 left join study2 s2 on s1.id=s2.id
union all
SELECT * FROM `study1` s1 RIGHT join study2 s2 on s1.id=s2.id;

(3)where 和 having having字句可以让我们筛选分组之后的各种数据,where字句在聚合前先筛选记录

(4)子查询和join 子查询使用not in的时候效率很慢,可以用left join + is null 代替

(5)DISTINCT和DISTINCTROW DISTINCT:只基于查询的字段去重 DISTINCTROW: 基于查询到的整行记录去重

(6)=和:= 参考链接

  • = 只有在set和update时才是和:=一样,赋值的作用,其它都是等于的作用。鉴于此,用变量实现行号时,必须用:=

  • := 不只在set和update时时赋值的作用,在select也是赋值的作用。 (7)日期操作