此文中用到的表是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入门之对表数据查询(一)的更多相关文章

  1. oracle入门之对表数据查询(三)

    oracle表复杂查询--子查询 什么是子查询? 子查询是指嵌入在其它sql语句中的select语句,也叫嵌套查询. 单行子查询 单行子查询是指只返回一行数据的子查询语句. 请思考:如果显示与smit ...

  2. oracle入门之对表数据查询(二)

    oracle表复杂查询 在实际应用中经常需要执行复杂的数据统计,经常需要显示多张表的数据,现在我们给大家介绍较为复杂的select语句 数据分组-max,min,avg,sum,count 如何显示所 ...

  3. oracle数据库使用之数据查询入门

    1.在查询过程中使用算术表达式对数据进行运算 student表结构如下: 最后一项salary表示每个人的月薪,我现在想查询每个人的年薪: 2.使用nvl函数处理null值,向表中插入一条数据,该数据 ...

  4. Oracle入门之对表内容的dml操作

    oracle表的管理--添加数据 使用insert语句向表中插入数据 插入数据基本语法: insert into table[(column [,column...])] values(value [ ...

  5. Oracle 数据库基础:数据查询与操作

    SELECT uname FROM TUser WHERE uname=‘admin’ SELECT 字段名列表 FROM 表名 WHERE 条件; 在Oracle数据库中,对象是属于模式的,每个账户 ...

  6. Windows 7下通过Excel2007连接Oracle数据库并对表查询

    http://blog.csdn.net/pan_tian/article/details/8133668 1. 环境变量的设置 1.1  ORACLE_HOME环境变量的设置,我这里指向了我的Ora ...

  7. Oracle从入门到精通 限定查询和排序查询的问题

    视频课程:李兴华 Oracle从入门到精通视频课程 学习者:阳光罗诺 视频来源:51CTO学院 知识点 SQL语句的执行顺序 限定符号的使用.   具体内容: 如果想要对所选择的数据进行控制,就可以使 ...

  8. Entity Framework 程序设计入门二 对数据进行CRUD操作和查询

    前一篇文章介绍了应用LLBL Gen生成Entity Framework所需要的类型定义,用一行代码完成数据资料的读取, <LLBL Gen + Entity Framework 程序设计入门& ...

  9. oracle学习 第二章 限制性查询和数据的排序 ——03

    这里.我们接着上一小节2.6留下的问题:假设要查询的字符串中含有"_"或"%".又该如何处理呢? 開始今天的学习. 2.7  怎样使用转义(escape)操作符 ...

随机推荐

  1. lambda 委托 匿名方法

    委托: delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类.与其它的类不同,delegate类能够拥有一个签名(signature),并且它只能持有与它的签名相匹配的方法的 ...

  2. Vue-admin工作整理(八): BUS | | 组件通信

    一.父子组件之间通信 思路:定义一个个人组件,个人组件通常需要在前缀统一命名一下,如:AInput,该组件的作用是将编辑框中的内容获取并通过事件提交出去,然后在目标组件(store)中通过双向交互模式 ...

  3. C#项目中操作Excel文件——使用NPOI库

    转载自:http://blog.csdn.net/dcrmg/article/details/52356236# 感谢-牧野- 实际C#项目中经常会涉及到需要对本地Excel文件进行操作,特别是一些包 ...

  4. webpack-工程化工具

    一.简介 1.webpack 是 facebook 公司发布的一款工程化工具,早期有 react 使用. 2.核心理念: 一切都是资源,是资源我们就能模块化打包加载. 3.webpack 默认支持 c ...

  5. 根据不同浏览器判断OCX插件是否安装

    最近项目进入到了验收阶段,需要兼容不同的浏览器,海康的Demo写了一个判断插件是否成功安装的函数,但是经过测试,只在IE浏览器下有效果,在其他的浏览器下面会出现Bug,现在需要写一个通用的方法,在不同 ...

  6. English trip V2 - 4. Really Wild Teacher:Maple Key:Adjectives of feeling

    In this lesson you will learn how to recognize animals and describe feeling. 课上内容(Lesson) 词汇(Key Wor ...

  7. 创建springboot项目

    springboot 就是为简化spring的创建 配置 部署 运行 而创建的. springboot 直接引入依赖jar包 就行了,无须配置xml 一 创建springboot 1.创建一个mave ...

  8. Cache Line

    转载: https://yq.aliyun.com/articles/46550

  9. mybatis 一对一关联 association 返回空值

    mybatis 一对一关联 association 返回空值 最近学习spring mvc + mybatis开发,看的书是<Spring MVC+Mybatis开发 从入门到精通>,在学 ...

  10. windows/linux VPS云服务器限制IP访问,限制别人的IP访问网站方法

    服务器VPS云服务器如何限制IP访问,限制别人的IP访问网站的方法 windows主机IIS限制IP访问方法:首先打开IIS点击“网站”,右键属性,(如果仅给单个网站设置,请选择下边的站点,点右键“属 ...