当我们在SQL中查询数据时,肯定是有一些数据是我们不需要的,

所以我们此时就要对数据进行过滤,以筛选出我们仅需要的数据,我在这里写几个简单的方法

1、列和表别名(这个主要是提高可读性,过滤数据的功能很少)

SQL 别名用于为表或表中的列提供临时名称。SQL别名通常用于使表名或列名更具可读性。SQL一个别名只存在于查询期间。别名使用AS关键字,通常可以省略。建议在下列情况下使用别名查询涉及多个表 用于查询函数需要把两个或更多的列放在一起或列名长可读性差

例:select t1.line from Table1 AS t1,Table2 t2

2、And(和) 和 Or(或)

And和Or都是一个逻辑运算符,用于组合两个布尔表达式

And 俩个都为true才返回(true And true)

Or 满足其中一个为true返回(false Or true)或者(true Or false)注意:在语句中使用多个逻辑运算符时,SQL将在AND运算符之后计算OR运算符。但是可以使用括号更改评估顺序

3、Where

SQL要从表中获取满足一行或多个条件的行,请使用WHERE子句,在WHERE子句中,指定搜索条件以过滤FROM子句返回的行。WHERE子句仅返回导致搜索条件计算TRUE的行。搜索条件是逻辑表达式或多个逻辑表达式的组合

例:select * from Table T1

Where T1.ID=1 And T1.Name="张三"(查ID为1和名字是张三)

4、(>,<,=,>=,<=)使用比较运算符,这个没什么要讲的,就大小等

5、Between查找两个值之间的值的行

这个有点类似大小等,就是换了一种写法

select t1.ID,t2.date from Table1 AS t1,Table2 AS t2

Where t1.ID Between 1 And 10 And 

t2.date Between "20201101" And "20201201"

(查ID是1到10之间的并且时间是20201101到20201201之间的)

6、Distinct

从结果集中删除列中的重复值。DISTINCT将所有NULL值视为相同值

语法:select Distinct * from Table

7、Like

通配符百分比( % ):任何零个多个字符的字符串。

下划线( _ )通配符:任何单个字符。

[list of characters] 通配符:指定集合中的任何单个字符。 [character-character] :指定范围内的任何单个字符。

[^] :不在列表或范围内的任何单个字符。

like模糊查询默认是不区分大小写

8、IN查找值列表中具有值的行

IN就相当于多个OR的组合

例:select t1.ID from Table1 t1

Where t1.ID IN (1,2,3)

(筛选出ID为1的或者2的或者3的)

9、having

这个也可以筛选数据,但having一般与Group By组合使用,所以having我放在数据分组那篇文章

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐