where子句:

返回column_name=250的行:

select * from table_name where column_name=250;

TIPS:

SQL过滤与应用过滤:数据可以在应用层过滤,单这种实现并不令人满意:
1)数据库进行了优化,快速有效对数据进行过滤;
2)客户端应用处理数据库的工作会影响应用的性能,并且使应用完全不具备可伸缩性;
3)服务器不得不通过网络发送多余的数据,将导致网络带宽的浪费

where子句操作符

操作符 说明
= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN 在指定的两个值之间

检索单个值:

column_name=’abc’

select column_name1, column_name2 from table_name where column_name1=’abc’;

MySQL执行匹配时默认不区分大小写,因此上面语句能匹配到column_name1=’ABC’的行

column_name < 10

select column_name1, column_name2 from table_name where column_name1 < 10;

column_name <= 10

select column_name1, column_name2 from table_name where column_name1 <= 10;

不匹配检查:

column_name <> 100

select column_name1, column_name2 from table_name where column_name1 <> 100;

TIPS:

值的单引号用于限定字符串,如果和字符串对比就无需单引号

范围值检查:

column_name BETWEEN 5 AND 10

select column_name1, column_name2 from table_name where column_name1 between 5 and 10;

检索结果会包含[5,10]区间内的数据行(包含=5/10的数据行)

空值检查:

column_name IS NULL

select column_name1, column_name2 from table_name where column_name1 is null;

将返回column_name1为空的数据行

TIPS:

NULL与不匹配:当查询column_name<>5时,不会返回column_name=NULL的行