条件查询
语法:
select 列名 from 表名 where 列 运算符 值1
COSY 141 MPI EC51410 订货号 EC51410-00 |
说明:
注意关键字where,where后面跟上一个或者多个条件,条件是对前面数据的过滤,只有满足where后面条件的数据才会被返回。
下面介绍常见的查询运算符。
操作符 | 描述 |
---|---|
= | 等于 |
<> 或者 != | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
等于(=)
select 列名 from 表名 where 列 = 值;1
说明:
查询出指定的列和对应的值相等的记录。
值如果是字符串类型,需要用单引号或者双引号引起来。
示例:
mysql> create table test1 (a int,b varchar(10));Query OK, 0 rows affected (0.01 sec)mysql> insert into test1 values (1,'abc'),(2,'bbb');Query OK, 2 rows affected (0.01 sec)Records: 2 Duplicates: 0 Warnings: 0mysql> select * from test1;+------+------+| a | b |+------+------+| 1 | abc || 2 | bbb |+------+------+2 rows in set (0.00 sec)mysql> select * from test1 where a=2;+------+------+| a | b |+------+------+| 2 | bbb |+------+------+1 row in set (0.00 sec)mysql> select * from test1 where b = 'abc';+------+------+| a | b |+------+------+| 1 | abc |+------+------+1 row in set (0.00 sec)mysql> select * from test1 where b = "abc";+------+------+| a | b |+------+------+| 1 | abc |+------+------+1 row in set (0.00 sec)123456789101112131415161718192021222324252627282930313233343536373839
不等于(<>、!=)
不等于有两种写法:<>或者!=
select 列名 from 表名 where 列 <> 值;或者select 列名 from 表名 where 列 != 值;123
示例:
mysql> select * from test1 where a<>1;+------+------+| a | b |+------+------+| 2 | bbb |+------+------+1 row in set (0.00 sec)mysql> select * from test1 where a!=1;+------+------+| a | b |+------+------+| 2 | bbb |+------+------+1 row in set (0.00 sec)123456789101112131415
注意:
<> 这个是最早的用法。
!=是后来才加上的。
两者意义相同,在可移植性上前者优于后者
故而sql语句中尽量使用<>来做不等判断
大于(>)
select 列名 from 表名 where 列 > 值;1
示例:
mysql> select * from test1 where a>1;+------+------+| a | b |+------+------+| 2 | bbb |+------+------+1 row in set (0.00 sec)mysql> select * from test1 where b>'a';+------+------+| a | b |+------+------+| 1 | abc || 2 | bbb |+------+------+2 rows in set (0.00 sec)mysql> select * from test1 where b>'ac';+------+------+