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

21天网站建设实录网站收录情况查询

21天网站建设实录,网站收录情况查询,杭州网站开发外包公司,在线网页代理访问一、set运算符 union:得到两个查询结果的并集,并且⾃动去掉重复⾏。不会排序 union all:得到两个查询结果的并集,不会去掉重复⾏。也不会排序 intersect:得到两个查询结果的交集,并且按照结果集的第⼀个列进…

一、set运算符

set操作符
union:得到两个查询结果的并集,并且⾃动去掉重复⾏。不会排序
union all:得到两个查询结果的并集,不会去掉重复⾏。也不会排序
intersect:得到两个查询结果的交集,并且按照结果集的第⼀个列进⾏排序
minus:得到两个查询结果的减集,以第⼀列进⾏排序

--查询部门的部门号,其中不包括job_id是”ST_CLERK”的部门号
select department_id
from departments
minus
select department_id
from employees
where job_id = 'ST_CLERK'
--查询10,50,20号部门的job_id,department_id
--并且department_id按10,50,20的顺序排列
column a_dummy noprint	--隐藏后面的1、2、3(序列号)select job_id,department_id,1 a_dummy
from employees
where department_id = 10
union
select job_id,department_id,2
from employees
where department_id = 50
union
select job_id,department_id,3
from employees
where department_id = 20
order by 3	--使用order by对结果集排序
--查询所有员工的last_name ,department_id 和department_name
select last_name,department_id,to_char(null) department_name
from employees
union
select to_char(null),department_id,department_name
from departments

二、高级子查询

1.多列子查询

多列子查询中的比较分为两种:成对比较、不成对比较

成对比较

--查询与141号或174号员工的manager_id和department_id相同的
--其他员工的employee_id, manager_id, department_id
select employee_id,manager_id,department_id
from employees
where (manager_id,department_id) in (select manager_id,department_idfrom employeeswhere employee_id in (141,174))
and employee_id not in (141,174)

不成对比较

select employee_id,manager_id,department_id
from employees
where manager_id in (select manager_idfrom employeeswhere employee_id in (141,174))
and department_id in (select department_idfrom employeeswhere employee_id in (141,174))
and employee_id not in (141,174)

2.在 FROM 子句中使用子查询

案例对比:

--返回比本部门平均工资高的员工的last_name, department_id, salary及平均工资
select last_name,department_id,salary,
(select avg(salary) from employees e3 where e1.department_id = e3.department_id group by department_id) avg_sal
from employees e1
where salary > (select avg(salary)from employees e2where e1.department_id = e2.department_idgroup by department_id)
--在 FROM 子句中使用子查询
--返回比本部门平均工资高的员工的last_name, department_id, salary及平均工资
select last_name,e1.department_id,salary,e2.avg_sal
from employees e1,(select department_id,avg(salary) avg_sal from employees group by department_id) e2
where e1.department_id = e2.department_id
and e1.salary > e2.avg_sal

由上可知,在 FROM 子句中使用子查询可以减少冗余

3.单列子查询

<1>在 CASE 表达式中使用单列子查询

--显示员工的employee_id,last_name和location。
--其中,若员工department_id与location_id为1800的department_id相同,则location为’Canada’
--其余则为’USA’。
select employee_id,last_name,
(case department_id when (select department_id from departments where location_id = 1800) then 'Canada'else 'USA' end) location
from employees

<2>在 ORDER BY 子句中使用单列子查询

--查询员工的employee_id,last_name,要求按照员工的department_name排序
select employee_id,last_name
from employees e
order by (select department_namefrom departments dwhere e.department_id = d.department_id) asc

4.相关子查询

子查询中使用主查询中的列,主查询的每一行都执行一次子查询

--查询员工中工资大于本部门平均工资的员工的last_name,salary和其department_id
select last_name,salary,department_id
from employees e1
where salary > (select avg(salary)from employees e2where e1.department_id = e2.department_id)
--若employees表中employee_id与job_history表中employee_id相同的数目不小于2,
--输出这些相同id的员工的employee_id,last_name和其job_id
select employee_id,last_name,job_id
from employees e
where 2 <= (select count(1)from job_historywhere e.employee_id = employee_id )

5.EXISTS操作符和NOT EXISTS操作符

EXISTS 操作符检查在子查询中是否存在满足条件的行
如果满足条件则输出
NOT EXISTS操作符正好相反

--查询公司管理者的employee_id,last_name,job_id,department_id信息
select employee_id,last_name,job_id,department_id
from employees mgr
where exists(select 'A'from employees empwhere mgr.employee_id = emp.manager_id)
--查询departments表中,不存在于employees表中的部门的department_id和department_name
select department_id,department_name
from departments d
where not exists(select 'A'from employeeswhere department_id = d.department_id)

6.WITH 子句

使用 WITH 子句, 可以避免在 SELECT 语句中重复书写相同的语句块
WITH 子句将该子句中的语句块执行一次并存储到用户的临时表空间中
使用 WITH 子句可以提高查询效率

--查询公司中各部门的总工资大于公司中各部门的平均总工资的部门信息
with dept_sumsal as(
select department_name,sum(salary) sum_sal
from employees e,departments d
where e.department_id = d.department_id
group by department_name
),
dept_avgsal as(
select sum(sum_sal)/count(1) avg_sum_sal
from dept_sumsal
)select *
from dept_sumsal
where sum_sal > (select avg_sum_salfrom dept_avgsal)
order by department_name
http://www.hkea.cn/news/550919/

相关文章:

  • 中国做的很好的食品网站肇庆疫情最新消息
  • 做时时彩网站微信seo关键词有话要多少钱
  • 陇南市建设局网站商务软文写作
  • 做学术研究的网站营销方案怎么写?
  • 专业网站设计公司有哪些秒收录关键词代发
  • 织梦网站模板源码下载真实有效的优化排名
  • 网站建设过程中什么最重要磁力链bt磁力天堂
  • html5企业网站案例鹤壁搜索引擎优化
  • 网站建设平台简介链接交换平台
  • 照片展示网站模板宁波seo咨询
  • 奉贤建设机械网站制作长沙网址seo
  • 上海企业网站模板建站常用的网络推广方法
  • 大连零基础网站建设教学培训济南seo优化公司
  • html 做网站案例简单网站推广建设
  • 践行新使命忠诚保大庆网站建设线上广告
  • 定制网站建设服务商商家联盟营销方案
  • 集团官网建设公司外贸seo推广公司
  • 佛山新网站制作平台网站诊断工具
  • 做PPT的网站canvawhois查询
  • 营销型网站建设吉林定制化网站建设
  • 个人网上公司注册流程图新站优化案例
  • 做se要明白网站明星百度指数排名
  • 网页微博草稿箱在哪西安seo推广优化
  • 嘉兴微信网站建设谷歌首页
  • 什么网站做海报b站不收费网站
  • 如何自己做个简单网站seo知识点
  • 有哪些做批发的网站有哪些手续百度推广优化是什么意思
  • 用阿里巴巴店铺做公司网站怎么样引擎搜索有哪些
  • 网页制作软件属于什么软件类别简述seo的优化流程
  • 网站建设 公司新闻谷歌排名网站优化