• MySQL必知必会_第十三~十七章知识总结


    第十三章、数据分组

    GROUP BY子句必须出现在WHERE子句之后,ORDER BY子句之前。

     过滤分组:

    事实上,目前为止所学过的所有类型的WHERE子句都可以用HAVING来替代。唯一的差别是WHERE过滤行,而HAVING过滤分组

     WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤。

     分组和排序:

     SELECT子句的顺序:

     

     第十四章、使用子查询

    员工表:

    工资等级表:

     

    部门表:

     

    利用子查询进行过滤:

    现在查找职业为CLERK的员工的部门地址:

     不是4行,重复的没有算进去。

    可见,在WHERE子句中使用子查询能够编写出功能很强并且很灵活的SQL语句。对于能嵌套的子查询的数目没有限制,不过在实际使用时由于性能的限制,不能嵌套太多的子查询。

    作为计算字段使用子查询:

     第十五章、联接表

    外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。

    创建联结:

     第十六章、创建高级联结

    自联结:

    现在不采用子查询的方式:

     

    自然联结:

    无论何时对表进行联结,应该至少有一个列出现在不止一个表中(被联结的列)。标准的联结(前一章中介绍的内部联结)返回所有数据,甚至相同的列多次出现。自然联结排除多次出现,使每个列只返回一次

    外部联结: 

    左外连接:

     右外连接:

     使用带聚集函数的联结:

    第十七章、组合查询 

    包含获取取消重复的行:

    UNION从查询结果集中自动去除了重复的行。这是UNION的默认行为,但是如果需要,可以改变它。事实上,如果想返回所有匹配行,可使用UNION ALL而不是UNION。 

    对组合查询结果排序:在用UNION组合查询时,只能使用一条ORDER BY子句,它必须出现在最后一条SELECT语句之后

     

  • 相关阅读:
    力扣383. 赎金信
    跨境电商热潮:宣传与真实情况有何不同?
    在Dockerfile中进行apt下载加速
    echarts+node+ajax实现时间天气服务器
    sqllab第十六关通关笔记
    安卓端GB28181设备接入模块如何实现实时位置订阅(MobilePosition)
    24_ue4进阶末日生存游戏开发[按路径巡逻]
    Vite3+Vue3+JypeScript:搭建企业级轻量框架实践
    【Python】解决类中特性(property)覆盖同名属性(attribute)报错问题
    冰冰学习笔记:new与delete
  • 原文地址:https://blog.csdn.net/qq_42148307/article/details/126386944