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语句之后

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

身影王座

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值