问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle 查询的教程要适合新手的

发布网友 发布时间:2022-04-08 02:47

我来回答

2个回答

懂视网 时间:2022-04-08 07:08


字段名称   数据类型       是否为空   备注
--------   -----------   --------   --------
EMPNO    NUMBER(4)                 员工编号               
ENAME    VARCHAR2(10) Y         员工名称       
JOB        VARCHAR2(9)   Y         职位               
MGR       NUMBER(4)       Y         上级的编号           
HIREDATE DATE             Y         入职日期              
SAL         NUMBER(7,2)   Y         月工资           
COMM      NUMBER(7,2)   Y         奖金               
DEPTNO   NUMBER(2)      Y         所属部门
-------------------------------------------
job字段:
clerk 普员工
salesman 销售
manager 经理
analyst 分析师
president 总裁

                

dept 部门表
字段名称    数据类型          是否为空   备注
--------    -----------      --------   --------
DEPTNO   NUMBER(2)                    部门编号              
DNAME    VARCHAR2(14)    Y          部门名称       
LOC         VARCHAR2(13)   Y          部门所在地点
-------------------------------------------
DNAME字段:
accounting 财务部
research 研发部
operations 业务部
 
salgrade 工资级别表
字段名称  数据类型   是否为空  备注
--------  ---------  --------  --------
GRADE   NUMBER     Y         级别               
LOSAL    NUMBER     Y         最低工资              
HISAL     NUMBER     Y         最高工资

                           

1、查看表结构
desc emp;

        

2、查询所有列
select * from dept;
备注:切忌动不动就用select *,使用*效率比较低,特别在大表中要注意。
       
3、set timing on/off;
打开显示操作时间的开关,在底部显示操作时间。
eg、sql> insert into tb_stu values(‘0001‘, ‘zhangsan‘, 24);
1 row inserted
executed in 0.015 seconds

              

4、insert into...select...表复制语句
语法:insert into table2(field1,field2,...) select value1,value2,... from table1

--创建tb_dept表
create table tb_dept
(
  deptno number(4) not null,
  dname  varchar2(14),
  loc    varchar2(13)
)
--添加主键约束
alter table tb_dept add constraint tb_dept primary key (deptno);

--insert into...select...用法
insert into tb_dept (deptno, dname, loc) select a.deptno, a.dname, a.loc from dept a;

           

5、统计
select count (*) from emp;

               

6、查询指定列
select ename, sal, job, deptno from emp;

            

7、如何取消重复行distinct
select distinct deptno, job from emp;

              

8、查询smith所在部门,工作,薪水
select deptno, job, sal from emp where ename = ‘smith‘;
注意:oracle对内容的大小写是敏感的,所以ename=‘smith‘和ename=‘smith‘是不同的

             

9、nvl函数
格式为:nvl(string1, replace_with)   
功能:如果string1为null,则nvl函数返回replace_with的值,否则返回string1的值。  
注意事项:string1和replace_with必须为同一数据类型,除非显示的使用to_char函数。  
eg、如何显示每个雇员的年工资?
select sal*13+nvl(comm, 0)*13 "年薪" , ename, comm from emp;

               

10、使用列的别名
select ename "姓名", sal*12 as "年收入" from emp;

              

11、如何处理null值
使用nvl函数来处理

              

12、如何连接字符串(||)
select ename || ‘ is a ‘ || job from emp;

                 

13、使用where子句
问题:如何显示工资高于3000的员工?
select * from emp where sal > 3000;
问题:如何查找1982.1.1后入职的员工?
select ename,hiredate from emp where hiredate >‘1-1 月-1982‘;
问题:如何显示工资在2000到3000的员工?
select ename,sal from emp where sal>=2000 and sal<=3000;

                

14、如何使用like操作符
%:表示0到多个字符 _:表示任意单个字符
问题:如何显示首字符为s的员工姓名和工资?
select ename,sal from emp where ename like ‘s%‘;
如何显示第三个字符为大写o的所有员工的姓名和工资?
select ename,sal from emp where ename like ‘__o%‘;

                

15、在where条件中使用in
问题:如何显示empno为7844,7839,123,456的雇员情况?
select * from emp where empno in (7844, 7839, 123, 456);

          

16、使用is null的操作符
问题:如何显示没有上级的雇员的情况?
错误写法:select * from emp where mgr = ‘‘;
正确写法:select * from emp where mgr is null;


来源: <http://www.cnblogs.com/linjiqin/archive/2012/02/02/2335347.html> 

来自为知笔记(Wiz)

Oracle教程-查询(二)

标签:

热心网友 时间:2022-04-08 04:16

oracle官方PPT编号为007
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...了我亲弟弟的女朋友了 她也喜欢我 我该怎么办 他们已经分手了... ...个朋友的老婆你说我该追她吗 他们现在已经分手了 月经第三天有大量血块排出是什么原因 如何关闭360推荐的广告学习关闭360推荐广告 手机浏览器的不雅广告怎么清除 怎样设置浏览器推送内容 学政治对考公务员有优势吗 公务员必须选政治吗 如何提高苹果手机的下载速度 苹果手表有必要买蜂窝版吗苹果手表有必要买蜂窝版吗 为啥我用模拟器玩手机游戏老是闪退 模拟器玩吃鸡老是闪退怎么办? 使命召唤电脑登陆的时候闪退了,有没有办法解决啊? 模拟器玩这个游戏怎么一直闪退 CPU性能时,到底是单核跑分重要,还是多核跑分重要 这个配置可以吃鸡吗,鲁大师cpu跑分这么这么低 鲁大师跑分i7 7700k 为什么才5w多分 为什么i7 7700k超频到4.7,电源高性能,cpuz里显示4.7 7700k超到4.8有小幅浮动,cpuz频率大概在4796-4803这样的上下浮动正常吗? amd7700k鲁大师跑分应该是多少? CPU-Z,7700K测试分 宁波千幻文化传媒有限公司怎么样? 宁波居上文化传媒有限公司怎么样? 宁波大甬文化传媒好吗 宁波真赞文化传媒有限公司怎么样? 宁波甬府文化传媒有限公司怎么样? 宁波原创力量文化传媒有限公司怎么样? 宁波鹏起文化传媒有限公司是诈骗公司吗? 宁波梯影文化传媒有限公司怎么样? 宁波星匠文化传媒有限公司怎么样? 用模拟器玩使命召唤手游为什么要升到10级之前不能开始游戏? 用mine模拟器玩游戏老是闪退怎么办? 啪啪模拟器玩游戏闪退怎么办 文件格式和扩展名不匹配文件可能已损坏怎么办? 菊花,枸杞,麦冬,陈皮,党参泡茶喝能降火吗? 2013版的excel,打开03版的文件时,总是提示文件格式和扩展名不匹配,文件可能已损坏或不安全 microsoft excel 表格文件格式和扩展名不匹配。文件可能已损坏或不安全。 excel打开文件显示文件格式和扩展名不匹配。文件可能损坏或不安全,除非你信任其来源,是否仍要打开。 Office365中的Excel新建表格打开后提示xls文件格式和扩展名不匹配,文件可能已损坏或不安全怎么办 新建excel的文件格式和扩展名不匹配 怎么处理? ...因为文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文... 怎样切水果漂亮好看 怎样对好友隐藏按步骤操作了,还是不行。 电子表格中怎么办几个表格合并成一个 新人在外贸行业创业,第一步怎么拥有 新手开贸易公司需要什么? 微信给别人留言了,然后再删除,对方还能看到吗?我记得别人给我留言然后删除能看到。。 简述在oracle数据库中能进行select*from emp查询的基本步骤? 做外贸要什么基础条件,及应从什么开始做起? oracle怎样查第二行数据出来