1. 语法
where 条件语句
注意:
1. where后可以跟多个条件
2. where后不可以使用聚合函数
2. 运算符
* > 、< 、<= 、>= 、= 、<>
* BETWEEN...AND
* IN( 集合)
* 集合中数据的类型必须相同或兼容
* 集合中的数据中不能使用通配符(通配符被当做普通的字符)
* 集合中不能有null值
* LIKE:
*搭配占位符使用,用于匹配字符型或数值型
SELECT * FROM student WHERE sid LIKE '1%'; -- 匹配以1开头的数值
* 占位符:
* _:单个任意字符
* %:任意多个意字符,包含0个
* 转义符号
* \
* 在需要转义的字符前加一个任意字符,然后用ESCAPE语句指明该字符为转义字符
-- 查询姓名中第二个字符为_的人
SELECT * FROM student WHERE NAME LIKE '_\_%';
SELECT * FROM student WHERE NAME LIKE '_a_%' ESCAPE 'a';
* IS NULL /IS NOT NULL
* and 或 &&
* or 或 ||
* not 或 !
3. 案例
-- 查询年龄大于20岁
SELECT * FROM student WHERE age > 20
-- 查询年龄大于等于20 小于等于30
SELECT * FROM student WHERE age >= 20 && age <=30;
SELECT * FROM student WHERE age >= 20 AND age <=30;
SELECT * FROM student WHERE age BETWEEN 20 AND 30;
-- 查询年龄22岁,18岁,25岁的信息
SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25
SELECT * FROM student WHERE age IN (22,18,25);
-- 查询英语成绩为null
SELECT * FROM student WHERE english = NULL; -- 不对的。
SELECT * FROM student WHERE english IS NULL;
-- 查询英语成绩不为null
SELECT * FROM student WHERE english IS NOT NULL;
-- 查询姓马的有哪些? like
SELECT * FROM student WHERE NAME LIKE '马%';
-- 查询姓名第二个字是化的人
SELECT * FROM student WHERE NAME LIKE "_化%";
-- 查询姓名中包含德的人
SELECT * FROM student WHERE NAME LIKE '%德%';