码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2020-01-26 17:39:28      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:内连接   表名   dep   根据   mysq   sql基础   直接   nbsp   技术   

技术图片

 

 

技术图片

 

 

技术图片

 

 

技术图片

 

技术图片

 

 

 

修改表名:

技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

技术图片

 

 技术图片

 

 技术图片

 

技术图片

 

 

 技术图片

 

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

 

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

技术图片

 

 技术图片

 

技术图片

 

 

 技术图片

 

 技术图片

 

 

 

 技术图片

 

 技术图片

 

技术图片

 

 

 技术图片

 

 技术图片

 

 技术图片

 技术图片

 

 技术图片

 

 技术图片

 

技术图片

 

 

 技术图片

 

技术图片

 

 技术图片

 

 

 技术图片

 

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

技术图片

 

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

技术图片

 

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

技术图片

 

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

技术图片

 

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

技术图片

 

 技术图片

 

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

技术图片

 

 

技术图片

 

 技术图片

 

 

左连接:

技术图片

 

 此时两个表:

技术图片技术图片

 

 右连接:

技术图片

 

 技术图片

 

 技术图片

 

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

 技术图片

 

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

技术图片

 

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

转换为表连接后: 

技术图片

 

 技术图片

 

 技术图片

 

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

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

技术图片

 

 技术图片

 

 技术图片

 

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

标签:内连接   表名   dep   根据   mysq   sql基础   直接   nbsp   技术   

原文地址:https://www.cnblogs.com/JasonPeng1/p/12234395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!