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

时间:2021-07-15 02:13:45

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

 

 

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

 

 

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

 

 

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

 

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

 

 

 

修改表名:

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

 

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

 

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

 

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

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

 

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

 

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

 

 

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

 

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

 

 

 

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

 

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

 

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

 

 

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

 

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

 

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

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

 

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

 

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

 

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

 

 

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

 

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

 

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

 

 

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

 

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

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

 

 

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

 

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

 

 

左连接:

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

 

 此时两个表:

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

 

 右连接:

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

 

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

 

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

 

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

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

 

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

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

 

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

转换为表连接后: 

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

 

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

 

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

 

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

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

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

 

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

 

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