如果题目是:查出Students表中,1999年后出生,或者性别为女的学生,就应该用OR来连接了。
如果AND和OR同时使用,要注意AND优先级高于OR,但最好加括号,更加清晰一些。
3、IN运算符
如果我们想要查出姓名为“宁一、柠七、柠九”三个学生,可以这样来查询。
SELECT *
FROM Students
WHERE Sname = '宁一'
OR Sname = '柠七'
OR Sname = '柠九';
但这样还是太麻烦了,如果遇到这种多重相等的情况,我们可以使用IN运算符来简化筛选条件
比如上面语句可以写成下面这样。
SELECT *
FROM Students
WHERE Sname IN ('宁一','柠七','柠九');
IN 前面也可以加NOT,会查询出不属于列表的记录。
4、BETWEEN运算符如果我们要表达范围行的条件,比如查询Sid是2到5之间(包括2和5)的学生,可以这样写:
SELECT *
FROM Students
WHERE Sid >=2 AND Sid <=5;
也可以用BETWEEN运算符简化。
SELECT *
FROM Students
WHERE Sid BETWEEN 2 AND 5;
要注意,BETWEEN和AND要结合使用,不能写作BETWEEN (1000, 3000),别和IN的写法搞混。
BETWEEN … AND区间是包含两端点的,也可以表示日期范围。
实例:在Students表中找出1999年2月到3月出生的学生。
SELECT *
FROM Students
WHERE Sage BETWEEN '1999-02-01' AND '1999-03-31';