此文中用到的表是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. vim实现实时自动保存

    进https://www.vim.org/scripts/script.php?script_id=4521网站下载vim -auto-save wget  https://www.vim.org/s ...

  2. 第 10 章 容器监控 - 081 - Weave Scope 多主机监控

    除了监控容器,Weave Scope 还可以监控 Docker Host 点击顶部 HOSTS 菜单项,地图将显示当前 host. 与容器类似,点击该 host 图标将显示详细信息 host 当前的资 ...

  3. Disable access to Windows Update

    Disable access to Windows Update If this policy setting is enabled, all Windows Update features are ...

  4. mybatis多参数传递,延迟加载,缓存,注解开发

    1.Mybatis的多参数传递方式 需求:更具id 和 名字查询用户: select * from user where id = ? and name = ?: 1):QueryVo 或者 User ...

  5. android -------- 沉浸式状态栏和沉浸式导航栏(ImmersionBar)

    android 4.4以上沉浸式状态栏和沉浸式导航栏管理,包括状态栏字体颜色,适用于Activity.Fragment.DialogFragment.Dialog,并且适配刘海屏,适配软键盘弹出等问题 ...

  6. 关于list中移除某种数据类型的方法

    众所周知,list在不泛型的情况下是可以存放各种数据类型的,代码如下: public static void main(String[] args) { List list=new ArrayList ...

  7. C++ for循环语句

    #include "pch.h" #include<iostream> using namespace std; int main() { int i = 1, sum ...

  8. 在vue中调用echarts中的地图散点图~

    首先!当然是在vue中引入echarts! 命令行  npm install echarts --save 在main.js文件中里引入        import echarts from 'ech ...

  9. Windos消息驱动

    当Window是向程序发送消息时,它调用程序中的一个函数,这个函数用来描述Windows发送的消息,成为窗口函数或消息处理函数.他是一个自定义的回调函数: LRESULT CALLBACK Windo ...

  10. Django_创建项目

    安装django pip install Django 将下面路径添加到系统环境变量的path中 C:\Users\12978\AppData\Local\Programs\Python\Python ...