最近因为突然换工作,有点不适应。很多地方也感觉不清晰了,所以重新去学习一下,加深印象。主要是sql中几个点,比如说:几种连接之间的区别、join中on和where的区别,order
by多字段排序,group by的使用等。
内连接、外连接、左连接、右连接
JOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行join使用中on和where的区别
当多个表连接的时候,是生成一个中间临时表返回给用户。当left join时,不管on是否是真,但是都返回左边表的结果。where是在join on之后生成临时表之后,对临时表再重新进行筛选。order by多字段排序
多字段排序,应该是有左至右进行排序。union all 和 union的区别
union all 和union都是合并多句select的结果集,但是union all是合并所有的结果,包括重复值,但是union有去重的作用。