oracle distinct 去重多个字段_Oracle - Select 语句

本文详细介绍了SQL查询的基本语法,包括select、distinct、where子句、null处理、between、in/not in、模糊查询等操作。此外,还讨论了复杂查询的and/or逻辑以及计算字段的使用。强调了查询效率和条件顺序的重要性,并提醒在处理null值时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、查询语句

1. select

select 用于从数据库查询数据。语法如下

select field1,field2,....
from tablename
[where condition]

案例如下

36211de73e020f1db50d63033902d0f8.png

通配符 *,表示查询所有字段。但如果要查询特定字段的话,不要使用*,影响查询效率。

d03fb44dd9bc7b4932e7763113265f93.png

2. distinct 去重

作用:把重复性的记录去掉,只保留一条。修饰多字段时,多个字段的值都不一样才保留。

a7f1f22cd460f4192628520860ffe5d9.png

3. where 子句

where 表示查询的条件

[1] =,!= ,<>,<,>,<=,>= 关系运算符

<> 表示不等于

fa229c19b57f2abd7788dea7eb759283.png

any/some/all (list)

any/some(list) 满足list列表中的任意一个条件。

all(list)满足list 列表中的所有条件

fe8429d1ad2c6ff50247f3d2b545746a.png

[2]. null

null 在sql 中表示的是不确定 => 可以认为没有值

509716d24ed4b26af2783e8696e6089d.png

[3] between x and y

表示一个值位于[x,y]区间,x/y 一般都是数字。

5185e410cf24d2df1dd84b31ad2fe36e.png

[4] in/not in list

表示字段值是否在list列表中

ca7c66f54d5b819c9eb57626caba08f4.png

[5] 模糊查询

like 关键字用于模糊查询,其中

%:表示任意字符出现多处(含0次);

_:表示任意字符出现一次;

escape('x')表示指定转义字符为x,一般指定为。

3c401ddac6cc4e3efbe7b86426812542.png

4. 复杂查询(and/or)

where 后面的条件可以跟多个通过 and 或者 or 连接。

and:且、并且;

or:或、或者。

11d818694d967581a6400d12323a7db0.png

where 中 and、or的执行效率问题

and表示且,条件越多,检索的数据量越少;

or表示或,条件越多,检索的数据量越多;

where条件的执行顺序从后向前。

所以在执行sql 语句时,要把检索结果较少的条件放在后面;

and 和 or 同时存在时,and先执行。

5. 计算字段

我们经常需要把数据库中检索出来的信息进行再加工,允许的操作+、-、*、/。通过四个运算得到新的字段(计算字段)。

计算字段在数据表中不存在

aa5e90a1590cd1fbc71b92837dddf0a7.png

注意:很多记录中的comm 是 null ,表示不确定的值,经过四则运算后的值也不确定。

当遇到字段null 时,可以通过nvl 函数把null转化成便于运算的类型

29a34d81c624d17340fc8ed55e3157bd.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值