在使用 SELECT 语句查询数据时,有时为了使查询结果更加精确,可以使用多人询条件。在 MySQL 中,提供了一个 AND 关键字,使用 AND 关键字可以连接两个或多个查询条件,只有满足所有条件的记录才会被返回。其语法格式如下所示:
SELECT *|{字段名 1,字段名 2.)
FROM 表名
WHERE 条件表达式 1 AND 条件表达式 2 [… AND 条件表达式 n];
从上面的语法格式可以看到,在 WHERE关键字后面跟了多个条件表达式,每两小条件表达式之间用 AND 关键字分隔。
例如,查询 student 表中 id 字段值小于 5,并且 gender 字段值为“女”的学生姓名,SQL 语句如下所示:
SELECT id,name,gender FROM student WHERE id<5 AND gender='女';
执行结果如下所示:
mysql> SELECT id,name,gender FROM student WHERE id<5 AND gender='女';
+----+------------+--------+
| id | name | gender |
+----+------------+--------+
| 4 | husanniang | 女 |
+----+------------+--------+
1 row in set (0.08 sec)
从查询结果可以看到,返回记录的 id 字段值为 4,gender 字段值为“女”,也就是说,查询结果必须同时满足 AND 关键字连接的两个条件表达式。
例如,查询 student 表中 id 字段值在 1、2、3、4 之中,name 字段值以字符串“ng”结束,并且 grade 字段值小于 80 的记录,SQL语句如下所示:
SELECT id,name,grade,gender
FROM student
WHERE id in(1,2,3,4) AND name LIKE '%ng' AND grade<80;
在 SELECT 语句中,使用两个 AND 关键字连接了三个条件表达式,执行结果如下所示:
mysql> SELECT id,name,grade,gender
-> FROM student
-> WHERE id in(1,2,3,4) AND name LIKE '%ng' AND grade<80;
+----+-----------+-------+--------+
| id | name | grade | gender |
+----+-----------+-------+--------+
| 1 | songjiang | 40 | 男 |
+----+-----------+-------+--------+
1 row in set (0.00 sec)
从查询结果可以看出,返回的记录同时满足 AND 关键字连接的三个条件表达式。