美文网首页
SQL基础-WHERE过滤 AND、OR、 BETWEEN...

SQL基础-WHERE过滤 AND、OR、 BETWEEN...

作者: 左手气球右手书 | 来源:发表于2019-03-06 11:02 被阅读1次

十、过滤

不进行过滤的数据非常大,导致通过网络传输了多余的数据,从而浪费了网络带宽。因此尽量使用SQL语句来过滤不必要的数据,而不是传输所有的数据到客户端中,然后由客户端进行过滤。

SELECT *
FROM mytable
WHERE col IS NULL

下表中显示了WHERE 子句中可用的操作符

操作符 说明
= 等于
< 小于
> 大于
<>或!= 不等于
<= 或!> 小于等于
>= 或!< 大于等于
BETWEEN 在两个值之间
IS NULL 为NULL值

注意:

  • NULL 与0、空字符串都不同
  • BETWEEN ...AND 操作符会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
 SELECR * 
 FROM mytable
 WHERE col1
 BETWEEN value1 AND value2;

不同的数据库对BETWEEN...AND操作符的处理方式是有差异的。 SQL Server 中的BETWEEN...AND是包括边界值的,NOT BETWEEN 是不包含边界值的。

  • AND 和OR 用于链接过个过滤调节。优先处理AND,当一个过滤表达式涉及到多个AND 和 OR 时,可以使用()来决定优先级,使得优先级关系更加清晰。()的优先级比AND高。
SELECT * 
FROM mytable
WHERE col1 IS NULL
AND(
    col2 <= 3
    OR col3 =4
)
  • IN 操作符用于匹配一组值,其后也可以接一个SELECT子句从而匹配子查询得到的一组值。
SELECT *
FROM mytable
WHERE col In (value1,value2...)

上述查询等于:

SELECT * 
FROM mytable
WHERE col= value1 OR col = value2

IN操作符后接SELECT语句:

SELECT *
FROM mytable
WHERE col IN(
    SELECT col1
    FROM mytable2
)
  • NOT 操作符用于否定一个条件

相关文章

  • SQL基础-WHERE过滤 AND、OR、 BETWEEN...

    十、过滤 不进行过滤的数据非常大,导致通过网络传输了多余的数据,从而浪费了网络带宽。因此尽量使用SQL语句来过滤不...

  • SQL一些关键字

    SQL一些常用的关键字 1、Having,跟where一样用于过滤但是where用于过滤行,而having用于过滤分组。

  • SQL WHERE 子句

    WHERE子句用于过滤记录 WHERE 子句用于提取那些满足指定条件的记录 SQL WHERE语法 SELECT ...

  • 简要理解 - NSPredicate

    简介 NSPredicate是基础库中用来过滤获取数据的类,类似于SQL中的where语句,但它提供了更为自然且高...

  • MySQL

    数据类型 sql基础 数据库表 SQL SELECT 语句: SQL WHERE 子句: SQL AND & OR...

  • oracle学习笔记二——查询之过滤和排序

    二、过滤和排序 1.过滤:where (1)等值查询: --查询10号部门的员工 SQL>select * fro...

  • mysql语句执行顺序

    [doc] 准备工作 SQL逻辑查询语句执行顺序 执行FROM语句 执行ON过滤 添加外部行 执行WHERE过滤 ...

  • 第五课 高级数据过滤

    利用 WHERE 子句使用 NOT 和 IN 操作符 一、组合WHERE子句 为更强的过滤,SQL允许多个 WHE...

  • Flink 1.12 的bug吗?

    where 条件中 包含 OR 和 IS NULL 的 SQL 过滤会失效 。 例如: select * fr...

  • Hibernate @Where 注解

    @Where 该注解的clause属性可指定一个附加的SQL语句过滤条件(类似于添加where子句),如果一旦指定...

网友评论

      本文标题:SQL基础-WHERE过滤 AND、OR、 BETWEEN...

      本文链接:https://www.haomeiwen.com/subject/xtqtpqtx.html