MySQL必知必会 6-7章节

xiaoxiao2021-02-28  86

过滤数据 除了在SQL进行过滤,用户还可以在应用层进行过滤。 缺点:如果在客户机上过滤数据,服务器不得不通过网络发送多余的数据,这将导致网络带宽的浪费。 order by 语句应该位于where语句之后

where子操作符:

<> 不等于 != 不等于 between 在指定的两个值之间

单引号用来限定字符串,如果将值与串类型的列进行比较,则需要限定引号,如果将值与数值列进行比较,则不使用引号。 between匹配范围中的所有值,包括起始值和结束值。

NULL null,无值(no value),它与字符串包含0、空字符串或者是仅仅包含0不同。 用来检查具有null值得列:

select prod_name from products where prod_price is null;

未知具有特殊的含义,数据库不知道它们是否匹配,所以匹配过滤或者是不匹配过滤时不会返回它们。

and or 为了进行更强的过滤控制,MySQL允许给出多个where子句。这些子句可以用两种方式使用:以and子句或者or子句的方式使用。还可以添加多个过滤条件,每添加一条就要使用一个and。

or操作符指示MySQL检索匹配任一条件的行。 关于计算的顺序,SQL(像大多数语言一样)在处理OR操作符之前,优先处理了AND,换句话说,由于AND在计算次序中优先级更高,操作符被错误地组合了。 此类问题的解决方法是使用圆括号明确地分组相应的操作符。

IN操作符 in取合法的由逗号分隔的清单,全部包含在圆括号中。

select prod_name,prod_price from products where vend_id in (1002,1003) order by prod_name;

in操作符完成与or相同的功能

select prod_name,prod_price from products where vend_id = 1002 or vend_id = 1003 order by prod_name;

not操作符 not操作符有且仅有一个功能,那就是否定它之后所跟的任何条件。

... where vend_id not in (1002,1003) order by prod_name;

在与in操作符联合使用时,not找出与条件列表不匹配的行非常简单。

转载请注明原文地址: https://www.6miu.com/read-74857.html

最新回复(0)