• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > Oracle基础学习之简单查询和限定查询

Oracle基础学习之简单查询和限定查询

作者:Maystory凡 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Maystory凡通过本文主要向大家介绍了Oracle基础学习之简单查询和限定查询等相关知识,希望本文的分享对您有所帮助

本文主要介绍的是关于Oracle中的简单查询和限定查询,下面话不多说,来一起看看吧。

SQL:

     1,DML(数据操作语言):主要指的是数据库的查询与更新的操作,查询操作是整个sql语法 中最麻烦也是笔试中最常用的部分。

     2,DDL(数据定义语言):主要指的是数据对象的创建(表、用户、)例如:creat.需要相关的设计范式。

     3,DCL(数据控制语言):主要进行权限的操作(需要结合用户来观察),此部分由DBA负责。

简单查询:

1,利用select 子句控制要显示的数据列:

 select empno,ename,ename,job,sal from emp;
</div>

2,可以使用distinct来消除重复的数据行显示:

 select distinct job from emp;
</div>

3,select子句可以进行四则运算,可以直接输出常量内容,但是对于字符串使用单引号数字直接编写,日期格式按照字符格式:

select empno,ename,(sal*15+(200+100)) income from emp;
</div>

4,||负责输出内容连接此类的操作很少直接在查询中出现:

 select empno||ename from emp;
</div>

5,where子句一般都写在from子句之后,但是是紧跟着from子句之后执行的,where子句控制显示数据行的操作,而select控制数据列,select子句要落后于where子句执行,所以在select子句之中定义的别名无法在where中使用。

限定查询:

1,关系运算符:

 select * from emp where sal>1500;

 select * from emp where ename ='SMITH'

 select empno,ename,job from emp where job<>'SALESMAN';
</div>

2,逻辑运算符:

 select * from emp where sal>1500 and sal<3000;
 select * from emp where sal>2000 or job='CLERK';
 select * from emp where not sal >=2000;
</div>

3,范围查询:

 select * from emp where sal between 1500 and 2000;
 select * from emp where hiredate between '01-1月-1981'and'31-12月-1981';
</div>

4,空判断(空在数据库上表示不确定,如果在数据列使用null不表示0)

select * from emp where comm is not null;
</div>

5,IN操作符(类似于between and 而in给出的是指定的范围):

 select * from emp where empno in (7369,7566,7788,9999);
</div>

关于not in与null的问题:

在使用not in 进行范围判断的时候,如果范围有null,那么不会有任何结果返回。

6,模糊查询:

“-”:匹配任意一位字符;

“%”:匹配任意的0,1,,或者多位字符;

查询姓名是以字母A开头的雇员信息:

 select * from emp where ename like 'A%'
</div>

查询姓名第二个字母是A的雇员信息:

select * from emp where ename like '_A%';
</div>

查询姓名任意位置是A的雇员信息:

 select * from emp where ename like '%A%';
</div>

查询排序:

ASC(默认):按照升序排列;

DESC: 按照降序排列;

查询所有的雇员信息,要求按照工资的由高到低:

 select * from emp order by sal desc;
</div>

查询每个雇员的编号,姓名,年薪,按照年薪由低到高排序:

  select empno ,ename,sal*12 income from emp order by income;
</div>

语句的执行顺序:from - where -select - order by

基础练习:

1,选择部门30中的所有员工:

 select * from emp where deptno=30;
</div>

2,列出所有办事员(clerk)的姓名,编号,和部门编号:

select ename,empno,deptno from emp 
where job='CLERK';
</div>

3,找出佣金高于薪金的60%的员工:

 select * from emp where comm>sal*0.6 ;
</div>

4,找出部门10中所有的经理(manager)和部门20中所有的办事员(clerk):

 select * 
 from emp 
 where (deptno=10 and job='MANAGER' )or(deptno=20 and job='CLERK'   );
</div>

5,找出部门10中所有的经理(manager),部门20中的所有办事员(clerk),以及既不是经理又不是办事员但是工资高于等于2000的所有员工资料:

 select *
 from emp
 where (deptno=10 and job='MANAGER')or(deptno=20 and
 job='CLERK')or(job! ='MANAGER'and job!='CLERK' and sal>=2000);
</div>
  select *
  from emp
  where (deptno=10 and job='MANAGER')or(deptno=20 and job='CLERK')or(job
  not in ('CLERK','MANAGER') and sal>=2000);
</div>

6,找出收取佣金的员工的不同工作:

select distinct job
 from emp
 where comm is not null;
</div>

7,找出收取佣金或者收取的佣金低于100的员工:

  select distinct job
  from emp
 where comm is null or comm<100;
</div>

8,显示不带有“R”的员工姓名:

 select *
 from emp
 where ename not like '%R%';
</div>

9,显示姓名字段含有A的所有员工姓名,显示的结果按照基本的工资由高到低,如果工资相同,则按照雇佣年限由早到晚,如果雇佣日期相同,则按职位排序:

 select * from emp where ename like '%A%' order by sal desc,hiredate
 asc,job;
</div>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11浅析Oracle中的不等于号
  • 2017-05-11Oracle数据表分区的策略
  • 2017-05-11Oracle9i在Win2k环境下的完全卸载
  • 2017-05-11oracle中的trim函数使用介绍
  • 2017-05-11解析一个通过添加本地分区索引提高SQL性能的案例
  • 2017-05-11oracle date 类型字段的处理方法
  • 2017-10-09Oracle 多表查询
  • 2017-05-11win7安装oracle10g 提示程序异常终止 发生未知错误
  • 2017-05-11Oracle最大日期获取方法
  • 2017-05-11And,Where使用提示以及用+进行左关联的提示及注意事项

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Oracle 单行函数
    • ORACLE数据库应用开发常见问题及排除
    • oracle下实现恢复一个丢失的数据文件的代码
    • 详解Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
    • ORACLE查询表最近更改数据的方法
    • Oracle高级队列(Advanced Queue)简单实例
    • oracle10g发送email示例
    • Windows系统下Oracle数据库每天自动备份
    • Oracle 11g数据库安装与卸载的方法图解
    • Oracle PL/SQL入门案例实践

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有