首页 > 其他分享 >多表查询

多表查询

时间:2024-04-09 22:44:50浏览次数:22  
标签:ename 多表 sal 查询 job emp deptno select


一 语句查询


1,  在SCOTT模式下,检索emp表的指定列(empno,ename,job)


2,  检索emp表的sal列,把其值调整为原来的1.5


3,  在emp表中,使用like关键字匹配以字母s开头的员工名称


4,  查询emp表中没有奖金的员工信息


5,  在emp表中,查询既不是最高工资,也不是最低工资的员工信息


6,  在emp表中,查询不是销售部门的员工信息


7,  在emp表中,查询工资大于部门编号为10的任意一个员工工资的其他部门的员工信息


8,  在emp表中,使用关联子查询检索工资大于同职位的平均工资的员工信息


二 仿写题(读完再写)


根据提示的函数来完成任务


 提示:字符串函数(大小写转换)


ABC转换为abc   lower函数  select  lower(‘ABC’)  from dual;


abc转换ABC    upper函数   select  upper(‘abc’)  from dual;


完成  ASCII码值和数字之间的转换:


数字转换为ASCII码值: chr


求出 67 对应多少 68 , 66 ,18 , 37 ,28  ,97 分别对应什么字符


 


ASCII码值转换为数字  :ascii


‘Z’  ‘?’   ‘!’  ‘a’  ‘A’


select ascii('Z') from dual;


 


三 查询题


 


字段


company


公司名(cname)

 编号(id)

LS

6

DG

9

GR

19


 


Employeehire


公司(id)

人数(num)

Fisq(财季)

6

2

1

9

2

4

19

4

1


 


(注释: 其中 公司名 人数nmuber为招聘人数 Employeehire为招聘表 )


  1. 将上述表结构分别创建两个表;
  2. 插入上述的数据;
  3. 向company表中插入一个新公司JZ 编号为29;
  4. 修改 Employeehire 表中的GR公司的数据改为在第一财季招聘人数为3。
  5. 求第四财季招聘过员工的公司名称

用户名Scott 密码tiger select * from emp; --展示表结构 desc emp; --字段查询 select ename,sal from emp; select ename,empno from emp; select ename,hiredate ,sal,comm from emp; select ename,job,sal from emp; select ename,mgr,deptno from emp; --更改语句 --给所有人涨10%工资 select ename ,sal from emp; update emp set sal=sal*1.1; --领导说不能涨 rollback; select ename,sal from emp; --换种方案涨工资 --大于2000的涨20%,小于2000的涨10% update emp set sal=sal*1.2 where sal>2000; update emp set sal=sal*1.1 where sal<2000; --永久生效,不能更改 commit; --distinct 去除重复列 select ename ,job from emp; select distinct job from emp; select distinct deptno from emp; select distinct mgr from emp; --% 通配符 --查询首字母为a的员工信息 select * from emp where ename like 'A%'; --查询第二个字母为a的员工信息 select * from emp where ename like '_A%'; --查询第三个字母为a的员工信息 select * from emp where ename like '__A%'; --查询第四个字母为a 的员工信息 select * from emp where ename like '___A%'; --查询有a的员工 select * from emp where ename like '%A%'; --查询没有a的员工姓名 select ename from emp where ename not like '%A%'; --员工编号empno出现9的员工 select * from emp where empno like '&9&'; --上司编号mgr 出现8的姓名 select * from emp where mgr like '&8&'; --员工姓名ename出现s的员工的姓名 select * from emp where ename like '&s&'; --处理空值null select ename ,comm from emp where comm is not null; select ename,comm from emp where comm is null; select ename 姓名 ,nvl(comm,100)+sal*13 年薪 from emp; --p144,6.46-6.54 select deptno,count(*),sum(sal) from emp GROUP BY deptno; select job ,count(*),avg(sal) from emp where deptno=20 GROUP BY job having avg(sal)>1000; select * from emp,dept; select * from emp e,dept d where e.deptno=d.deptno; select empno ,sal ,s.* from emp e, salgrade s where sal between s.losal and s.hisal; select e.empno,e.ename,e.mgr ,b.empno,b.ename from emp e,emp b where e.mgr =b.empno; select * from emp e left join dept d on e.deptno =d.deptno; select * from emp e right join dept d on e.deptno =d.deptno; select * from emp e full join dept d on e.deptno=d.deptno; --1平均工资,最低工资,最高工资 --job分类 平均工资,最低工资,最高工资 select * deptno,count(*),sum(sal) from emp group by deptno; select job,count(*),avg(sal) from emp group by job; select job,count(*),min(sal) from emp group by job; select job,count(*),max(sal) from emp group by job; --having的用法 select job ,count(*),avg(sal) from emp group by job having avg(sal)>2000; --多表连接 select distinct e2.ename 上司的名字 from emp e1,emp e2 where e1.mgr=e2.mgr;
一 语句查询
1,    在SCOTT模式下,检索emp表的指定列(empno,ename,job)
2,    检索emp表的sal列,把其值调整为原来的1.5
3,    在emp表中,使用like关键字匹配以字母s开头的员工名称
4,    查询emp表中没有奖金的员工信息
5,    在emp表中,查询既不是最高工资,也不是最低工资的员工信息
6,    在emp表中,查询不是销售部门的员工信息
7,    在emp表中,查询工资大于部门编号为10的任意一个员工工资的其他部门的员工信息
8,    在emp表中,使用关联子查询检索工资大于同职位的平均工资的员工信息

select empno,ename,job from emp;

update emp set sal=sal * 1.1;

select * from emp where ename like 'S%';

select * from emp where comm is null;

select empno,ename,sal from emp where sal<(select max(sal)from emp) and sal >(select min(sal) from emp); 

select * from emp where deptno<>30;

select deptno ,ename,sal,from emp where sal> any(select sal from emp where deptno=10 ) and deptno<>10;

select deptno ,enam,sal from emp f where sal>(salect avg(sal) from emp where job=f.job) group by job;
二 仿写题(读完再写)
根据提示的函数来完成任务
 提示:字符串函数(大小写转换)
ABC转换为abc   lower函数  select  lower(‘ABC’)  from dual;
abc转换ABC    upper函数   select  upper(‘abc’)  from dual;
完成  ASCII码值和数字之间的转换:
数字转换为ASCII码值: chr 
求出 67 对应多少 68 , 66 ,18 , 37 ,28  ,97 分别对应什么字符

select chr('68') from dual;
select chr('66') from dual;
select chr('18') from dual;
select chr('37') from dual;
select chr('28') from dual;
select chr('97') from dual;


ASCII码值转换为数字  :ascii
‘Z’  ‘?’   ‘!’  ‘a’  ‘A’
select ascii('Z') from dual;

三 查询题 

字段 
company
公司名(cname)     编号(id)
LS    6
DG    9
GR    19

Employeehire
公司(id)    人数(num)    Fisq(财季)
6    2    1
9    2    4
19    4    1

(注释: 其中 公司名 人数nmuber为招聘人数 Employeehire为招聘表 )
1.    将上述表结构分别创建两个表;
2.    插入上述的数据;
3.    向company表中插入一个新公司JZ 编号为29;
4.    修改 Employeehire 表中的GR公司的数据改为在第一财季招聘人数为3。
5.    求第四财季招聘过员工的公司名称

 

标签:ename,多表,sal,查询,job,emp,deptno,select
From: https://www.cnblogs.com/bky-wang/p/18125055

相关文章

  • 查询
    用户名:scott密码:tiger三种方法可以打开sqlplus1win+R打开窗口输入sqlplus2快捷方式3在oracle主菜单下打开select*fromemp;select*fromdept;select1+1fromdual;select99*99fromdual;select99*99fromemp;selectename姓名......
  • 查询下属
    win+R键sqlplus1用户名:scott密码:tigerselect*fromemp;select*fromdept;selectename,sal,commfromemp;selectename,sal+nvl(comm,0)fromemp;selectename,12*(sal+nvl(comm,0))年薪fromemp;1selecte......
  • 查询表
    --1切换到master数据库中usemastergo--2判断cpms数据库是否存在,若存在则删除ifexists(select*fromsys.sysdatabaseswherename='cpms')dropdatabasecpmsgo--3创建cpms数据库createdatabasecpmson(name=cpms_data,filename='c:\cpms\cpms_data.mdf')log......
  • 关于查询优化的一些总结
    一、程序优化热点数据使用缓存数据库读写分离二、数据库方面的优化1、数据库设计优化如果单表数据量过大,可以根据业务来做分表数据库表可以做一些字段冗余,可以减少连表查询,提升查询效率2、Sql语句优化2.1.首先定位慢查询开启慢查询日志mysqlslow_query_log:是否开启慢查询sl......
  • 【数据结构 | 并查集】维护元素分组信息,支持高效合并集合、查询元素所在集合
    文章目录并查集概述引入并查集的实现存储方式Union-Find抽象基类两种实现思路基本实现基于QuickFind思路基于QuickUnion思路优化基于size的优化基于rank的优化find优化路径压缩路径分裂路径减半总结并查集概述并查集(DisjointSetUnion,简称并查集),也叫......
  • ES(ElasticSearch)基础查询语法
    在ES中使用正确有意义的查询语句是很重要的,可以方便、快速的从大量数据中找到想要的数据。所以写好一个查询语句是必不可少的。ES分词器分词器是ES搜索引擎的核心特点,合理了解并使用可以发挥ES最大的效率。后面很多查询也有关,所以应该重点了解分词器。对于存入(Index)中的各个......
  • MyBatis中如果某个查询不希望使用缓存,可以在映射文件中的select语句上设置flushCache=
    <selectid="xmlGetGuaranteeCount"databaseId="sqlserver"resultType="Integer"flushCache="true"><![CDATA[SELECTcount(appisparea.ID)FROMT_APP_ISP_ARE......
  • sql server在高并发状态下同时执行Select查询与Update更新操作时的死锁问题
    最近在项目上线使用过程中使用SqlServer的时候发现在高并发情况下,频繁更新和频繁查询引发死锁。通常我们知道如果两个事务同时对一个表进行插入或修改数据,会发生在请求对表的X锁时,已经被对方持有了。由于得不到锁,后面的Commit无法执行,这样双方开始死锁。但是select语句和upda......
  • 美国新冠疫情日数据正在更新中!可以下载「.xls」2020-2024年美国疫情大数据查询
    美国新冠疫情日数据,数据更新至2024/4/97:06:08美国新冠疫情昨日数据正在更新:新增是923例。再看一下各州吧:New-York新冠疫情昨日新增是:504发一个美国的新增总图:15个月的折线趋势图2020-2024年美国疫情大数据查询及下载EXCEL表:发一个20天的美国疫情数据表下......
  • postgresql通过explain命令查看查询性能
    explain(ANALYZE,VERBOSE,BUFFERS)selectc.*fromtb_classificationcleftjointb_operate_logoonc.id=o.object_idwhere1=1andc.parent_code='root000000'ando.operate_type>=0ando.idin(selectmax(so.id)fromtb_operate_logsogroup......