sql基础拾遗

来源:互联网 发布:vb语言视频教程 编辑:程序博客网 时间:2024/06/04 20:05

最近因为突然换工作,有点不适应。很多地方也感觉不清晰了,所以重新去学习一下,加深印象。主要是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有去重的作用。