跳至主要內容

指定查询条件

AkashiNeko原创MySQLSQL

SELECT 语句后,可以接一些额外的语句。

SELECT field1, field2, ...
FROM table_name
[WHERE condition]
[ORDER BY field [ASC|DESC]]
[LIMIT max [OFFSET page]];


 
 
 

WHERE 用于指定查询条件,它支持以下的运算符。(假设有 xxyyzz 三个整数)

下面的语句中,如果条件为真则结果为1,否则为0,可以配合 SELECT 语句进行测试。

运算符语句意义
x > yxx 大于 yy
x < yxx 小于 yy
x >= yxx 大于等于 yy
x <= yxx 小于等于 yy
x = yxx 等于 yyNULL = NULL 的结果为 NULL
x <=> yxx 等于 yyNULL = NULL 的结果为 1)
x and yxx 逻辑且 yy
x or yxx 逻辑或 yy
x IS NULLxxNULL
x IS NOT NULLxx 不是 NULL
z in (x, y, ...)z(x,y,)z \in (x, y, \ldots) 。比如 2 in (1,2,3) 的结果为1
z BETWEEN x AND yzz 在区间 [x,y][x,y] 内。比如 3 BETWEEN 2 AND 5 的结果为1
'abc123456' LIKE 'a_c123%'字符串模糊匹配,_ 匹配单个字符,% 匹配任意个字符

对之前的 student 表进行查询。

查看所有男生的信息。

SELECT * FROM student WHERE gender='M';
+-------+------+--------+
| name  | age  | gender |
+-------+------+--------+
| David |   18 | M      |
| Alice |   20 | M      |
| Brian |   20 | M      |
+-------+------+--------+

查看年龄大于 19 的学生的姓名和年龄。

SELECT name,age FROM student WHERE age>19;
+-------+------+
| name  | age  |
+-------+------+
| Alice |   20 |
| Faith |   21 |
| Brian |   20 |
| Emma  |   20 |
+-------+------+