本文章不介绍具体知识,而是只记录相关注意点。
1.少使用distinct,去重不仅可以用distinct,也可以用group by。
为啥要少使用distinct:会使查询效率下降。
distinct首先会对相同的字段进行排序(这种排序不可靠,可以用order by),排序后留下第一行,其他删掉,因此会使查询效率下降。
2.or和and同时出现,先执行and
3.or与in
xx or yy or zz 相当于 in(xx,yy,zz)
in比or的有点
- 书写简洁
- 执行速度快
- 可以子查询
4.在查询 like '三%',这样时,需要使用RTRIM
select * from table where RTRIM(name) like '三%'
这是因为sqlserver存放表里面时,如果不满足长度,就会往右边填写空格来占满。
5.union和or的区别
union会删掉重复,or不会。union想不删掉重复可以使用all(select xx union all select yy)
网友评论