使用通配符的缺点:降低检索的性能

3. 别名:(B)

给表取别名(类似对象名): 形如:select e.ename , e.sal from emp e;

给列取别名(用于显示):

方式一:列名后面加空格再加别名(系统会自动转成大写显示不能有空格等特殊符号)

如:select ename , sal*12 yearsal from emp;

方式二:列名后加空格再加“别名” (会直接以双引号里的格式显示,一般用于别名中包含空格等特殊符号的情况)

如:select ename , sal*12 "year sal" from emp;

方式三:列名加空格加as加空格加别名:

如:select ename , sal*12 as "year sal" from emp;

4.distinct关键字(去重):(A)

列:select distinct job from emp;

• distinct必须放在开头(select之后)

•多字段(多个列)–每个字段不一样才去重

5.where关键字(过滤)

5.1 作用:

一般放在from关键字之后,用于过滤不需要的数据,保留有用的数据

5.2 操作符:

1. =,!=,<>,,<=,>=,any,some,all 条件判断

列:查询工资大于2000的员工信息

select * from emp where sal>=2000 ;

列:查询工资等于800或3000的员工信息

select * from emp where sal=any(800,3000) ;

any(或):满足其中一个条件即可

some:和any一样

all(与):需要满足所有条件

2. is null,is not null值是否为null

is null :为空

is not null :不为空

例:查询 comm列不为空的员工

select * from emp where comm is not null;

3. between x and yx与y之间

例:查询工资在2000到3000的员工信息

select * from emp where sal between 2000 and 3000;

4. in(list),not in(list)值是否包含在list中

in(list)在list列表内

not in(list)不在list列表内

注:list可以是一个查询返回的查询结果

例:查询职务为MANAGER和ANALYST的员工信息

select * from emp where job in(‘MANAGER‘, ‘ANALYST‘);

注:list里的成员为字符需要加单引号,数值不用加单引号

5. exists(sub-query)、not exists(sub-query)子查询

sub-query:子查询

exists(sub-query):满足该条记录的子查询时(有查找到)执行该条记录父查询

not exists(sub-query):不满足该条记录的子查询时执行父查询

如:select * from emp where exists(select *from dept where LOC = ‘DALLAS‘);

子查询中 LOC列存在DALLAS则执行父查询返回emp中所有列

注:exists是逐条记录去比较,子查询能查到才会去执行父查询,同样子查询只有能查到结果就会执行父查询,所有一般需要添加其他条件,例如:

使用exists查询部门名称为SALES和RESEARCH 的雇员姓名、工资、部门编号。

select ename, sal, deptno

from emp e

where exists (select deptno from dept d where dname in(‘SALES‘, ‘RESEARCH‘) and e.deptno=d.deptno);

6. like _ ,%,escape ‘\‘ _\% escape ‘\’ 模糊查找

通配符“_”和“%” 参考第2点

escape:定义转义字符 escape关键字 后面的字符将被定义为转义字符

escape放于like语句后面

列:查询所有员工中姓名包含“M”的员工信息 注:数据区分大小写

select * from emp where ename like ‘%M%‘;

6.order by关键字 (排序): (A)

6.1 用法:

例:对emp表按sal列进行排序(默认为升序)

select * from emp order by sal;

6.2 那如何指定是升序或降序?

select * from emp order by sal asc;

select * from emp order by sal desc;

asc代表升序,desc代表降序

6.3 按多个列进行排序

当一个列中出现相同的值时,可能需要按两个列或多个列进行排序,这时可以在 order by 后添加多个列(用逗号分隔),在各个列名后面可以加上asc或desc指定升序或降序。

例:select * from emp order by sal desc ,ename desc;

7.创建计算字段(列)(A)

7.1为什么需要计算字段?

我们经常需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据,然后再在客户机应用程序中重新进行计算或格式化。

7.2创建计算字段的方式

方式一 :对某个列的数值进行计算(+-*/)

Sql允许select子句(select后添加列名的位置)中出现由+,-,*,/以及列名和数字组成的表达式,将指定列中的值按照表达式进行计算,并创建新的一个列(可以对这个类设置别名)。

例:select sal*12 yearsal from emp;

yearsal为别名

方式二:对几个列中的数据进行拼接,可以在列之间加入格式,

例:select (ename ||‘的年薪为:‘|| sal*12) from emp;

注:创建出来计算字段是一个列但它并不实际存在于数据库表中

8.并集,全集,交集,差集(A)

8.1 union(并集):

将查询的两个结果(集合)组合成一个结果并过滤掉重复部分

例:查询工资大于2000以及部门编号为20的员工信息

select * from emp where sal>2000 union select * from emp where deptno=20;

8.2 union all(全集):

作用与union一样但不过滤重复部分

例:查询工资大于2000以及部门编号为20的员工信息(不去除重复)

select * from emp where sal>2000 union all select * from emp where deptno=20;

8.3 intersect(交集):

返回查询结果中相同的部分。

例:查询工资大于2000并且部门编号为20的员工信息

select * from emp where sal>200 intersect select * from emp where deptno=20;

8.4 minus(差集):

返回在第一个查询结果中与第二个查询结果不相同的那部分记录。

例:查询工资大于2000并且部门编号不是20的员工信息

select * from emp where sal>2000 minus select * from emp where deptno=20;

Oracle 中的SELECT 关键字(查询、检索)

标签:表单   格式化   检索   客户   为什么   das   客户机   job   格式

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:https://www.cnblogs.com/gaojinshun/p/10731731.html

oracle怎么查询关键字,Oracle 中的SELECT 关键字(查询、检索)相关推荐

  1. oracle 查询关键字,Oracle 中的SELECT 关键字(查询、检索)

    1. SELECT 关键字用法: 检索单个列:select 列名 from 表名: 例:select ename from emp; 检索多个列: select [列1,列2, ... ,列N] fr ...

  2. java分页查询海量数据_Java中的大量数据查询

    解决方案一:直接使用ResultSet来处理 从ResultSet中将查询结果读入collection,缓存在HttpSession或有状态bean中,翻页的时候从缓存中取出一页数据显示.这种方法有两 ...

  3. python中一共有多少个关键字-Python中所有的关键字

    在python中若想查询python中有哪些关键字可以先导入keyword模块 import keyword #导入关键字模块 print(keyword.kwlist) #查询所有关键字 查询结果: ...

  4. mysql去重复查询 性能_MySQL中distinct语句去查询重复记录及相关的性能讨论_MySQL...

    在 MySQL 查询中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值. 关键词 DISTINCT 用于返回唯一不同的值,就是去重啦.用法也很简单: SELE ...

  5. mysql去重复查询 性能_MySQL中distinct语句去查询重复记录及相关的性能讨论

    在 MySQL 查询中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值. 关键词 DISTINCT 用于返回唯一不同的值,就是去重啦.用法也很简单: SELE ...

  6. php异步查询数据库,php中mysql数据库异步查询实现

    问题 通常一个web应用的性能瓶颈在数据库.因为,通常情况下php中mysql查询是串行的.也就是说,如果指定两条sql语句时,第二条sql语句会等到第一条sql语句执行完毕再去执行.这个时候,如果执 ...

  7. java修饰类的关键字_JAVA中的修饰关键字

    今天我们来说说JAVA中的修饰关键字. 常用的有: 1.final 关键字 修饰成员变量:a. 必须初始化值. b. 被fianl修饰的成员变量赋值,有两种方式:1.直接赋值 2.全部在构造方法中赋初 ...

  8. python 关键字 with_Python 中的with关键字使用详解

    在 Python 2.5 中, with 关键字被加入.它将常用的 try ... except ... finally ... 模式很方便的被复用.看一个最经典的例子: with open('fil ...

  9. java关键字static_Java中的static关键字

    java关键字static static keyword in Java is used a lot in java programming. Java static keyword is used ...

最新文章

  1. 如何确定Scrum团队的最佳规模?
  2. 判断链表中是否有环(环形链表)
  3. UML学生成绩管理系统需求分析
  4. php+如何按文字分割文件夹,PHP实现的大文件切割与合并功能示例
  5. MFC读取配置文件GetPrivateProfileString
  6. linux c select函数使用求解释
  7. html按键变色,按键变色.html
  8. MFC中将窗口最小化到系统托盘和还原
  9. android源码 分享1
  10. 纯色图制作APP代码
  11. css3实现3d正方体动画效果
  12. SpringCloud优点、缺点
  13. 手把手教你:CSS+JS 打造一个有个性的滚动条
  14. 前后坐人书柜书桌的标准做法
  15. 【camera】【摄像头模组】摄像头模组简单介绍
  16. 基于51单片机十字路口交通信号灯(启动按键+绿灯同亮报警)
  17. 如何把多个js函数绑定到事件上面
  18. 天猫年货节“种果树、收水果”破除你的“水果焦虑”
  19. BSN应用案例精选【1】:全链通“铭镜”农产品溯源平台
  20. NSSCTF刷题wp——单表替换密码

热门文章

  1. 【Mybatis】5—缓存
  2. livox时间戳解析部分内容
  3. 【各种进之间的转换】
  4. c语言输入字母转换摩斯密码,摩尔斯电码(morse)转换英文字符串c语言代码
  5. 什么是护网(HVV)?需要什么技术?
  6. 2023.1.1单词打卡
  7. 新魔百和CM201-2_M8268_M8270_M8273_MV300朝歌代工NAND字库盒子刷机救砖分享经验
  8. Windows程序设计-多任务和多线程
  9. 常用的一维时间序列滤波方法
  10. shell编程中declare命令的使用