一、查询语句

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
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐