当前位置: 首页 > news >正文

备案用的网站建设方案书怎么写做原创短视频网站

备案用的网站建设方案书怎么写,做原创短视频网站,seo国外英文论坛,广东网站制作平台目录 多表查询 介绍 使用 表数据 显示雇员名,雇员工资,以及所在部门名 显示部门号为10的部门名,员工名,工资 自连接 介绍 场景 表数据 题目 子查询 自连接 多表查询 介绍 实际开发中往往数据来自不同的表,所以需要多表查询 语法: from 表1,表2 (笛卡…

目录

多表查询

介绍

使用

表数据

显示雇员名,雇员工资,以及所在部门名

显示部门号为10的部门名,员工名,工资

自连接

介绍

场景 

表数据

题目

子查询

自连接 


多表查询

介绍

实际开发中往往数据来自不同的表,所以需要多表查询

语法:

  • from + 表1,表2 (笛卡尔积方式)
  • 或是使用内连接的语法(在其他博客中介绍,努力肝ing)

使用

表数据

来自 -- scott_data.sql · YoungMLet/scott_data - Gitee.com

显示雇员名,雇员工资,以及所在部门名

需要显示部门名,但是emp表里只有部门编号,所以还需要在dept(部门)表里进行查询:

如果直接对两张表做整合(生成笛卡尔积),每个员工会重复出现四次,因为dept里有四个部门:

  • 整合时会将[emp表中每一条信息]分别与[dept表中的每一条信息]结合 -> 4条新的记录:
  • 得到的结果是穷举组合 -- 笛卡尔积(所有可能的有序对组合)

因为"mysql中一切皆表"

  • 所以得到的穷举结果也是表结构
  • 所以我们可以对这张表进行条件筛选

因为每个员工都有自己所属部门,其他三条信息是多余的,我们可以直接过滤掉:

  • where emp.deptno = dept.deptno (这里的部门编号就类似于外键功能)

然后进行信息筛选,因为我们只要三列数据(ename,sal,dname):

  • 如果列名在两张表中是唯一的,可以不用加所属表名
  • select ename,sal,dname from emp,dept where emp.deptno=dept.deptno;

显示部门号为10的部门名,员工名,工资

要得到部门名,还是和上面一样的操作,只不过增加一个筛选(deptno=10):

  • select dname,ename,sal from emp,dept where emp.deptno = dept.deptno and emp.deptno=10;

显示每个员工的姓名,工资,工资级别:

  • 又是同样的问题,在员工表中没有工资级别这一信息,需要查询工资表

那么还是一样的,将之前得到的结果视为一张表,和工资表进行整合,并过滤多余信息(工资要处在工资等级的区间内才算有效信息):

  • select ename,sal,grade from emp,salgrade where sal>losal and sal < hisal;//或是select ename,sal,grade from emp,salgrade where sal between losal and hisal;

自连接

介绍

对同一张表进行连接查询

  • 也就是对一张表做笛卡尔积

但sql不允许from后面写两次同一个表名

  • 所以我们需要对表做重命名 
  • 一旦重命名后,新名字也可以在sql其他地方出现 -- 因为[从表中拿数据]一定是sql语句执行的第一步

场景 

表数据

我们使用来自oracle 9i的经典测试表作为测试样例 -- scott_data.sql · YoungMLet/scott_data - Gitee.com

  • 下载好后,在mysql中使用source命令+.sql文件所在路径,恢复出emp表:

题目

显示某个员工的上级领导的编号和姓名 (mgr是员工领导的编号)

  • 先找到该员工的领导编号,再拿着编号去员工表里找信息
  • 以上两个动作都与员工表有关

有两种做法:

子查询

简单来说,就是在其他sql语句中嵌套使用select语句

  • select empno ,ename from emp where empno = (select mgr from emp where ename = 'FORD' );
    

自连接 

让员工表自己与自己组合起来

  • 先找出整合后的特定员工FORD的相关信息:
  • select * from emp e1 ,emp e2 where e1.ename='FORD';

筛选出来的是FORD分别与所有员工组合在一起的信息

  • 然后找到 FORD的mgr (领导的员工编号)与 其他员工的empno相等的那一条 -- 那条信息就是FORD与其老板的数据
  • select * from emp e1 ,emp e2 where e1.ename='FORD' and e1.mgr=e2.empno;

(这里我们筛选出的信息(where e1.mgr=e2.empno)

  • 所以e1代表员工,e2代表领导

而我们只想要领导数据(保留e2中的编号和姓名),所以过滤掉无关信息:

  • select e2.empno,e2.ename from emp e1 ,emp e2 where e1.ename='FORD' and e1.mgr=e2.empno;
http://www.yayakq.cn/news/408019/

相关文章:

  • 建设公司网站的可行性研究营销网站制作免费咨询
  • 温州做网站建设公司哪家好网站建设公司的业务范围
  • 网站开发毕设开题报告怎么写合肥专业做网站的公司哪家好
  • 建网站需要多久电脑配件网站建设
  • 国内外网站建设比较专门做二手的网站
  • 建网站视频教程oa管理系统免费版
  • 邢台wap网站建设wordpress注册邮箱配置
  • 太原做淘宝网站的建湖哪家专业做网站
  • 网站设计与规划作业临沂酒店建设信息网站
  • 湘潭网站建设 r磐石网络查钓鱼网站
  • 株洲网站制作公司仿站在线
  • 成都市建设厅网站茶叶网站flash模板
  • 杭州专业网站建设北京优化网站
  • 网站海外推广服务wordpress互动插件
  • 网站建设的七大优缺点保险代理公司
  • 南京网站优化步骤银川网站seo
  • 如何利用网站做产品推广wordpress相册火车头发布
  • 温州外贸网站设计电商企业有哪些
  • 网站设计基本要求网页制作模板word
  • 网站建设中 英文汕头网站专业制作
  • 怎么做简易网站版面设计素材
  • 惠州网站建设英语定制一个微信小程序要多少钱
  • 建设银行网站查询余额云虚拟主机怎么做2个网站
  • 本机电脑怎么做网站wordpress menu背景
  • 网站建设软件有哪些在线广告设计制作
  • 即时通讯型网站开发广告行业包括网站建设吗
  • 网站怎么做长尾词枣庄手机网站建设
  • 驾校报名网站怎么做加强学校网站建设的要求
  • 外贸网站建设及优化ppt模块上海人才网官网入口查询
  • 做视频网站用哪个软件好asp.net 网站开发教程