oracle入门之对表数据查询(一)
此文中用到的表是Scott用户中自带的三张表:



基本select语句
基本语法:
select [distinct] *|{columnl,column2,column3..} from table [where {condition}];
select [是否剔除重复数据] *|{字段名(列名),字段名2(列名2),字段名3(列名3)..} from 表名 [where {条件}];注意事项:
1、select指定查询哪些列的数据;
2、column指定列名;
3、*代表查询所有列;
4、from指定查询哪张表;
5、distinct可选,指显示结果时,是否剔除重复数据;
6、where条件。
oracle表基本查询--简单的查询语句
查看表结构
SQL>desc 表名;
查询所有列
SQL>select * from 表名;
查询指定列
SQL>select 列1,列2,列3,.. from 表名;
如何取消重复行
SQL>select distinct deptno,job from emp;
查询SMITH的薪水,工作,所在部门
SQL>select sal,job,deptno from emp where ename='SMITH';
特别注意:oracle对sql语句不区分大小写,但对查询内容区分大小写。这与sqlserver是有区别的,sqlserver对查询内容不区分大小写。
使用算数表达式
显示每个雇员的年工资
SQL>select ename,sal*13+nvl(comm,0)*13 from emp;
使用列的别名
SQL>select ename "姓名",sal*13+nvl(comm,0)*13 "年收入" from emp;
SQL>select ename 姓名,sal*13+nvl(comm,0)*13 年收入 from emp;
SQL>select ename as "姓名",sal*13+nvl(comm,0)*13 as "年收入" from emp;
特别注意:oracle在使用别名时,可以用双引号或不使用或使用as来表明别名。但不能使用单引号。sqlserver是可以使用双引号、单引号。
如何处理null值
使用nvl函数来处理
nvl函数的使用,说明:nvl是oracle提供的函数,是用于处理null值使用的。sqlserver提供的则是isnull函数来处理null值。
SQL>select ename,sal*13+nvl(comm,0)*13 from emp;
nvl(值1,值2) 解释:nvl值1为null时则取值2,值1不为null时则取值1原值。
如何连接字符串(||)
SQL>select ename ||'年收入'||(sal*13+nvl(comm,0)*13) "雇员的年收入" from emp;
||在查询的时候,希望把多列内容做为一列内容返回可以使用||连接符。
oracle表基本查询--简单的查询语句
使用where子句
如何显示工资高于3000的员工
SQL>select ename,sal from emp where sal>3000;
如何查找1982.1.1后入职的员工
SQL>select ename,hiredate from emp where hiredate>'1-1月-82';
也可以使用to_char函数转换日期类型后再进行日期比较,如下:
SQL>select ename,hiredate from emp where to_char(hiredate,'yyyy-mm-dd')>'1982-1-1';
字符对比还是有一定出入的。不推荐使用。
如何显示工资在2000到2500的员工情况
SQL>select * from emp where sal>=2000 and sal<=2500;
SQL>select * from emp where sal between 2000 and 2500;
说明:between是指定区间内取值,如:between 2000 and 2500,取2000至2500内的值,同时包含2000和2500
如何使用like操作符
%:表示任意0到多个字符
_:表示任意单个字符
如何显示首字符为S的员工姓名和工资
SQL>select ename,sal from emp where ename like 'S%';
如何显示第三个字符为大写O的所有员工的姓名和工资
SQL>select ename,sal from emp where ename link '__O%';
在where条件中使用in
如何显示empno为123,345,800...的雇员情况
SQL>select * from emp where empno=123 or empno=345 or emp=800;
SQL>select * from emp where empno in(123,345,800);
使用is null的操作符
如何显示没有上级的雇员的情况
SQL>select * from emp where mgr is null;
使用逻辑操作符号
查询工资高于500或是岗位为manager的雇员,同时还要满足他们的姓名首写字母为大写的J
SQL>select * from emp where (sal>500 or job='MANAGER') and (ename like 'J%');
使用order by子句
如何按照工资的从低到高的顺序显示雇员的信息
SQL>select * from emp order by sal asc;
注意:asc写或不写都是升序排序即从小到大排序,desc则是降序排序从大到小排序。
按照部门号升序而雇员的入职时间降序排列
SQL>select * from emp order by deptno,hiredate desc;
使用列的别名排序
SQL>select ename,sal*12 "年薪" from emp order by "年薪" asc;
别名需要使用“”号圈中。
oracle入门之对表数据查询(一)的更多相关文章
- oracle入门之对表数据查询(三)
oracle表复杂查询--子查询 什么是子查询? 子查询是指嵌入在其它sql语句中的select语句,也叫嵌套查询. 单行子查询 单行子查询是指只返回一行数据的子查询语句. 请思考:如果显示与smit ...
- oracle入门之对表数据查询(二)
oracle表复杂查询 在实际应用中经常需要执行复杂的数据统计,经常需要显示多张表的数据,现在我们给大家介绍较为复杂的select语句 数据分组-max,min,avg,sum,count 如何显示所 ...
- oracle数据库使用之数据查询入门
1.在查询过程中使用算术表达式对数据进行运算 student表结构如下: 最后一项salary表示每个人的月薪,我现在想查询每个人的年薪: 2.使用nvl函数处理null值,向表中插入一条数据,该数据 ...
- Oracle入门之对表内容的dml操作
oracle表的管理--添加数据 使用insert语句向表中插入数据 插入数据基本语法: insert into table[(column [,column...])] values(value [ ...
- Oracle 数据库基础:数据查询与操作
SELECT uname FROM TUser WHERE uname=‘admin’ SELECT 字段名列表 FROM 表名 WHERE 条件; 在Oracle数据库中,对象是属于模式的,每个账户 ...
- Windows 7下通过Excel2007连接Oracle数据库并对表查询
http://blog.csdn.net/pan_tian/article/details/8133668 1. 环境变量的设置 1.1 ORACLE_HOME环境变量的设置,我这里指向了我的Ora ...
- Oracle从入门到精通 限定查询和排序查询的问题
视频课程:李兴华 Oracle从入门到精通视频课程 学习者:阳光罗诺 视频来源:51CTO学院 知识点 SQL语句的执行顺序 限定符号的使用. 具体内容: 如果想要对所选择的数据进行控制,就可以使 ...
- Entity Framework 程序设计入门二 对数据进行CRUD操作和查询
前一篇文章介绍了应用LLBL Gen生成Entity Framework所需要的类型定义,用一行代码完成数据资料的读取, <LLBL Gen + Entity Framework 程序设计入门& ...
- oracle学习 第二章 限制性查询和数据的排序 ——03
这里.我们接着上一小节2.6留下的问题:假设要查询的字符串中含有"_"或"%".又该如何处理呢? 開始今天的学习. 2.7 怎样使用转义(escape)操作符 ...
随机推荐
- 决策树算法原理(CART分类树)
决策树算法原理(ID3,C4.5) CART回归树 决策树的剪枝 在决策树算法原理(ID3,C4.5)中,提到C4.5的不足,比如模型是用较为复杂的熵来度量,使用了相对较为复杂的多叉树,只能处理分类不 ...
- 基于百度通用翻译API的一个翻译小工具
前几天写了一个简单的翻译小工具,是基于有道翻译的,不过那个翻译接口有访问限制,超过一定次数后会提示访问过于频繁,偶然发现百度翻译API如果月翻译字符少于200万是不收取费用的,所以就注册了一个百度开发 ...
- restful接口定义的几种方式
GET (SELECT): Retrieve a specific Resource from the Server, or a listing of Resources. #从服务器检 ...
- LINQ to Entities 不识别方法“System.DateTime AddDays(Double)
今天本想在linq里按照时间筛选一下超时的数据,一共两个字段FeedBackTime(计划反馈时间).EndTime(实际反馈时间).需求是这样的,查找数据库里所有EndTime大于FeedBackT ...
- RecyclerView嵌套ScrollView导致RecyclerView内容显示不全
我们在使用RecyclerView嵌套至ScrollView内的时候 RecyclerView不在屏幕内的数据会不显示出来,这里是一个坑,我们需要重写RecyclerView /** * Create ...
- Confluence 6 针对 'unmigrated-wiki-markup' 宏重新尝试合并
在签名的章节中,我们主要是针对没有完全合并完成余下的为合并内容的异常处理.最常见的情况是内容以及被合并了,但是页面使用 wiki 标记的内容没有被合并,通常这些 wiki 标记的内容使用了 'unmi ...
- 【PHP函数】PHP 去掉字符串中的转义符号
PHP字符串中的转义符号 string stripslashes ( string $str ) //去掉字符串中的反斜线字符.若是连续二个反斜线,则去掉一个,留下一个.若只有一个反斜线,就直接去掉.
- fetch请求get方式以及post提交参数为formdata类型的数据
1.请求方式post,请求函数参数 _requestData(callback,_cityDt){ const switchIp = "http://192.168.43.103/api/p ...
- angular 引入编辑器以及控制器的学习和理解。。。
在angular中引入编辑器的时候花了很长时间,然后发现自己以前根本就没好好用过angular,因为项目是接手的学姐的,学姐又是接手的学姐的,到我这里就只是写写页面的事了. 引入编辑器差了好多好多资料 ...
- 4、static
static (静态的),用来修饰成员. 一.特点: 1.被修饰的方法或变量随着类的加载而加载 2.优先于对象存在 3.被所有的对象共享 4.除了可以被对象调用还可以被类名直接调用 二.类变量.成员变 ...