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

莱芜金点子广告电子版最新一期网站优化排名软件哪些最好

莱芜金点子广告电子版最新一期,网站优化排名软件哪些最好,做列表的网站,织梦网站会员中心模板下载复合查询 1.多表查询2.自连接3.子查询3.1单行子查询(返回一行记录的子查询)3.2多行子查询(返回多行记录的子查询)3.3 多列子查询3.4在from字句中使用子查询 4.合并查询4.1 union/union all 我们前面在增删查改里面的查询都是对一张…

复合查询

  • 1.多表查询
  • 2.自连接
  • 3.子查询
    • 3.1单行子查询(返回一行记录的子查询)
    • 3.2多行子查询(返回多行记录的子查询)
    • 3.3 多列子查询
    • 3.4在from字句中使用子查询
  • 4.合并查询
    • 4.1 union/union all

我们前面在增删查改里面的查询都是对一张表进行的查询,但是在实际开发中,这是不够的。

1.多表查询

实际开发中往往数据来自不同的表,所以需要多表查询。本节我们用一个简单的公司管理系统,有三张表EMP,DEPT,SALGRADE来演示如何进行多表查询。
这个在增删查改中的文章中有这个文件。

1.显示雇员名、雇员工资以及所在部门的名字因为上面的数据来自EMP和DEPT表,因此要联合查询

在这里插入图片描述

不加过滤条件,得到的结果我们称之为笛卡尔积

这样两张表的内容就合成了一张表,但是有很多的数据是不对的(不合法的)
deptno就不同 所以不能只单单的这样写

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

在这里插入图片描述
我们通过例子再练习一下。

1.显示部门号为10的部门名,员工名和工资
先分析一下,部门号,部门名在dept表中,员工名和工资在emp中,所以我们需要用到两张表

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

在这里插入图片描述

2.显示各个员工的姓名,工资,及工资级别

select ename,sal,grade from emp,salgrade where emp.sal between losal and hisal;

在这里插入图片描述

2.自连接

自连接就是指在同一张表中连接查询

显示员工FORD的上级领导的编号和姓名(mgr是员工领导的编号–empno)

1.使用多表查询

– 使用到表的别名
–from emp leader, emp worker,给自己的表起别名,因为要先做笛卡尔积,所以别名可以先识别
select leader.empno,leader.ename from emp leader, emp worker where
leader.empno = worker.mgr and worker.ename=‘FORD’;

在这里插入图片描述

2.使用子查询
在这里插入图片描述

3.子查询

子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询,简单来说就是select里面嵌套select,把嵌套的select的查询结果当作查询条件使用。

基于子查询的定义,我们在写这种查询的时候可以把问题拆分成几个部分,然后在把他们连接即可

3.1单行子查询(返回一行记录的子查询)

1.显示SMITH同一部门的员工
进行拆分:找出smith的部分+所有员工

select * from emp where deptno=(select deptno from emp where ename='SMITH');

在这里插入图片描述

3.2多行子查询(返回多行记录的子查询)

1.查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的。
拆分:

  1. 10号部门的工作岗位
  2. 雇员的名字,岗位,工资,部门号
  3. 不包含10号
select ename, sal, deptno from EMP where sal > all(select sal from EMP where deptno=30);

在这里插入图片描述

2.显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工)
拆分:

  1. 30部门的工资
  2. 员工的姓名、工资和部门号
select ename, sal, deptno from EMP where sal > any(select sal from EMP where deptno=30);

在这里插入图片描述

3.3 多列子查询

多列子查询则是指查询返回多个列数据的子查询语句

1.查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人

select ename from EMP where (deptno, job)=(select deptno, job from EMP 
where ename='SMITH') and ename <> 'SMITH';

在这里插入图片描述

3.4在from字句中使用子查询

子查询语句出现在from子句中。这里要用到数据查询的技巧,把一个子查询当做一个临时表使用。

1.显示每个高于自己部门平均工资的员工的姓名、部门、工资、平均工资
select ename, deptno, sal, format(asal,2) from EMP,
(select avg(sal) asal, deptno dt from EMP group by deptno) tmp
where EMP.sal > tmp.asal and EMP.deptno=tmp.dt;

4.合并查询

在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all

4.1 union/union all

他们的最大区别就是union会自动去掉结果集中的重复行,但是union all会全部保留。

将工资大于2500或职位是MANAGER的人找出来
select ename,sal,job from emp where sal>2500 union
-> select ename,sal,job from emp where job=‘MANGER’;

在这里插入图片描述

再来看看union all
在这里插入图片描述

http://www.dtcms.com/wzjs/431001.html

相关文章:

  • 做网站及小程序需要会哪些技能黑龙江今日新闻
  • 可以做动画的网站百度风云榜游戏
  • 织梦如何做中英文网站关键词的优化方案
  • 广西南宁网站制作世界杯32强排名
  • 校园网站制作模板开发一个app平台大概需要多少钱?
  • 深圳哪里有做网站的网上电商平台开发
  • 网站建设策划方案书下载最近国际新闻大事
  • 建设电影网站数据库脚本互联网舆情监控系统
  • 工商注册网站经典营销案例
  • 新型网站建设成人编程培训机构排名前十
  • 如何建立一个免费的网站酒店seo是什么意思
  • 武汉网站设计google搜索引擎下载
  • 做游戏模型挣钱的网站营销型网站建设排名
  • 珠海做网站方案网页seo优化
  • 重庆忠县网站建设公司企业推广是什么职业
  • 网站 设计公司 温州google框架一键安装
  • 网站怎么做移动端适配cba目前排行
  • 网站h5什么意思哪个平台可以免费打广告
  • 免费个人网站建设大全广州网站优化排名
  • 一级a做爰片就在线看网站加入网络营销公司
  • 做交通锁具网站搜索引擎技巧
  • 织梦网站创建商品栏目搜索引擎排名优化方法
  • 抖音优化排名杭州优化外包哪里好
  • 中文网站建设入门网络营销渠道有哪三类
  • 用织梦做房产网站公众号推广平台
  • 建设网站时新闻资讯腾讯广告投放推广平台价格
  • 手机端网站开发工具网站免费搭建平台
  • 三合一网站怎么建立苏州百度关键词优化
  • 制作网站得多少钱网站权重一般有几个等级
  • 做网站开发哪里可以接单怎么看关键词的搜索量