Oracle之基础查询(一)

简介: 例子:scott下的emp表图1操作1、取消重复查询:select  distinct   ename,sal from emp;操作2、使用算数表达式: 查询员工全年的收入=工资+奖金   nvl用来处理空...

例子:scott下的emp表

图1图1

操作1、取消重复查询:

select  distinct   ename,sal from emp;



操作2、使用算数表达式: 查询员工全年的收入=工资+奖金   nvl用来处理空值null   ,如果没有奖金,即comm为null,则用0代替

双引号中的是查询列的别名

SQL> select ename "姓名",sal*12+nvl(comm,0)*13 as "年收入"  from emp;


操作3、如何连接字符串

select  ename ||  'is  a'   || job     from  emp;


操作4、使用where子句

显示工资高于3000的雇员的薪水和名字

select ename ,salary from  emp where salary >3000;

如何查找在1982.1.1后入职的员工

select  ename  from  emp  where  hiredate > '1-1-1982';

如何显示工资2000到5000的员工情况

SQL> select  ename from  emp where   sal between  2000 and 5000;

SQL> select  ename from  emp where   sal  > 2000 and sal <5000;



操作5、如何使用like操作符

%:表示0到多个字符

-下划线:表示单个字符

如何显示首字母为s的员工姓名和工资?

select  ename,sal   from   emp  where   ename  like  'S%'

如何显示第三个字符为大写O的所有员工的姓名和工资

select  ename,salary   from   emp  where   ename   like ‘__O%’;

操作5、在where条件中使用in

如何显示empno为123,345,800的雇员情况?

SQL> select  ename,sal  from emp where  empno in(7876,7782,7369);


注意:与or相比应当多使用in,in 的效率会更高!


如何显示没有上级雇员的情况?

select  ename  from emp where  mgr is null;



操作6、使用逻辑运算符

查询工资高于500或是岗位为manager的雇员,同时还要满足他们的姓名首字母为大写

select   ename  ,sal  from  emp  where   (sal>500  OR  job='manager')and ename like 'J%';


操作7、使用order   by  子句

如何按照工资的从低到高的顺序显示雇员的信息

select ename  from  emp  order  by  sal    desc;


select ename  from  emp  order  by  sal    desc  ,empno ;

如何按照部门号升序而雇员的入职时间降序排列?

SQL> select  ename ,deptno,hiredate  from emp  order by  deptno asc ,hiredate de
sc;


使用列的别名排序

select  ename ,(sal +nvl(comm,0))*12  "年薪"   from  emp order by "年薪"  asc;

别名需要用双引号圈中




相关文章
|
10月前
|
SQL Oracle 关系型数据库
Oracle查询优化-查询只包含数字或字母的数据
【2月更文挑战第4天】【2月更文挑战第10篇】查询只包含数字或字母的数据
1026 1
|
17天前
|
Oracle 关系型数据库 Linux
【YashanDB 知识库】通过 dblink 查询 Oracle 数据时报 YAS-07301 异常
客户在使用 YashanDB 通过 yasql 查询 Oracle 数据时,遇到 `YAS-07301 external module timeout` 异常,导致 dblink 功能无法正常使用,影响所有 YashanDB 版本。原因是操作系统资源紧张,无法 fork 新子进程。解决方法包括释放内存、停掉不必要的进程或增大进程数上限。分析发现异常源于 system() 函数调用失败,返回 -1,通常是因为 fork() 失败。未来 YashanDB 将优化日志信息以更好地诊断类似问题。
|
5天前
|
Oracle 关系型数据库 MySQL
【YashanDB知识库】oracle dblink varchar类型查询报错记录
这篇文章主要介绍了 Oracle DBLINK 查询崖山 DB 报错的相关内容,包括 ODBC 安装配置、数据源配置、dblink 环境配置、问题原因分析及规避方法。问题原因是 dblink 连接其他数据库时 varchar 类型转换导致的,还介绍了 long 类型限制、char 等类型区别,规避方法是修改参数 MAX_STRING_SIZE 支持 32K。
|
18天前
|
Oracle 关系型数据库 Linux
【YashanDB 知识库】通过 dblink 查询 Oracle 数据时报 YAS-07301 异常
某客户在使用 YashanDB 通过 yasql 查询 Oracle 数据时,遇到 `YAS-07301 external module timeout` 异常,导致 dblink 功能无法正常使用,影响所有版本。问题源于操作系统资源紧张,无法 fork 新子进程。解决方法包括释放内存、停掉不必要的进程或增大进程数上限。分析发现异常原因为系统调用 fork() 失败。经验总结:优化日志记录,提供更多异常信息。
|
2月前
|
Oracle 关系型数据库 数据库
【YashanDB知识库】oracle dblink varchar类型查询报错记录
在使用Oracle DBLink查询VARCHAR类型数据时,可能会遇到多种报错。通过了解常见错误原因,采取合适的解决方法,可以有效避免和处理这些错误。希望本文提供的分析和示例能帮助你在实际工作中更好地处理DBLink查询问题。
76 10
|
2月前
|
SQL Oracle 关系型数据库
如何在 Oracle 中配置和使用 SQL Profiles 来优化查询性能?
在 Oracle 数据库中,SQL Profiles 是优化查询性能的工具,通过提供额外统计信息帮助生成更有效的执行计划。配置和使用步骤包括:1. 启用自动 SQL 调优;2. 手动创建 SQL Profile,涉及收集、执行调优任务、查看报告及应用建议;3. 验证效果;4. 使用 `DBA_SQL_PROFILES` 视图管理 Profile。
|
10月前
|
SQL Oracle 关系型数据库
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
137 0
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
|
8月前
|
SQL Oracle 关系型数据库
关系型数据库Oracle并行查询
【7月更文挑战第12天】
192 15
|
8月前
|
Oracle 关系型数据库 数据处理
|
8月前
|
SQL 监控 Oracle

热门文章

最新文章

推荐镜像

更多