下面的 SQL 语句从 teachers 表中查询年龄在 20 到 25 岁之间( 包括 20 和 25 岁 ),但是国籍不为中国和英国的教师信息,注意,BETWEEN AND 包括选取的两个值:
SELECT * FROM `teachers` WHERE (`age` BETWEEN 20 AND 25) AND (`country` NOT IN ('CN', 'UK'));
编写 SQL 语句,查询课程表 courses 中学生数量在 50 到 55 之间的所有课程信息。
SELECT * FROM `courses` WHERE `student_count` BETWEEN 50 AND 55;
- NULL 用作未知的或不适用的值的占位符。
注释:无法比较 NULL 和 0;它们是不等价的。
无法使用比较运算符来测试 NULL 值,比如 =、!= 或 <>。
我们必须使用 IS NULL 和 IS NOT NULL操作符。
例:查询`teacher`表中,email为NULL的记录
SELECT * FROM `teachers` WHERE `email` IS NULL;
输出结果:
例:编写 SQL 语句,查询教师表 teachers 中,国籍为 'CN' 或 'JP' 且 email 信息不为空的所有教师信息
SELECT *
FROM `teachers`
WHERE (`email` IS NOT NULL) AND (`country` in ('CN', 'JP'));
输出结果为:
LIKE 比较类似我们平时用到的搜索
SELECT * FROM `courses` WHERE `name` LIKE 'D%';
输入结果:
编写 SQL 语句,查询教师表 teachers 中,所有使用 qq 邮箱的教师名字和邮箱
SELECT `name`, `email` FROM `teachers` WHERE `email` LIKE '%@qq.com';
输出结果: