《深入浅出Mysql》——第二章 SQL基础

 

 

 

 

 

 

 

 

 

 

修改表名:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 在 MySQL 中,update 命令可以同时更新多个表中数据,语法如下

 

注意:多表更新的语法更多地用在了根据一个表的字段,来动态的更新另外一个表的字段 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 例如,要 emp表中统计公司的总人数

 

 在此基础上,要统计各个部门的人数

 

 更细一些,既要统计各部门人数,又要统计总人数: 

 

 统计人数大于 1 人的部门:

 

 最后统计公司所有员工的薪水总额、最高和最低薪水: 

 

 

 

 当需要同时显示多个表中的字段时,就可以用表连接来实现这样的功能。 从大类上分,表连接分为内连接和外连接,它们之间的最主要区别是內连接仅选出两张表中 互相匹配的记录,而外连接会选出其他不匹配的记录。我们最常用的是内连接。 

 

 

 

 

 

 

左连接:

 

 此时两个表:

 

 右连接:

 

 

 

 

 

 例如,从 emp表中查询出所有部门在 dept 表中的所有记录: 

 

 

 如果子查询记录数唯一,还可以用=代替 in: 

 

 某些情况下,子查询可以转化为表连接,例如: 

转换为表连接后: 

 

 

 

 

 

 UNION 和 UNION ALL 的主要区别是 UNION ALL 是把结果集直接合并在一起,而 UNION 是将 UNION ALL 后的结果进行一次 DISTINCT,去除重复记录后的结果。 

来看下面例子,将 emp和 dept 表中的部门编号的集合显示出来: 

 

 

 

 

 

posted @ 2020-01-26 16:51  JasonPeng1  阅读(101)  评论(0编辑  收藏  举报