MySql:SELECT语句(三)WHERE指定查询条件1、WHERE ⼦句条件操作符
包括:> 、<、>=、<=、!= 、=、BETWEEN ... AND ...(在指定的两个值之间)
⽰例:
1)select * from student where stu_id=267;
2)select * from student where stu_id<267;
3)select * from student where stu_id between 267 and 305;
空值检查:使⽤ NULL 关键字
select * from student where stu_id is null;
2、WHERE ⼦句逻辑操作符
select语句查询日期1) AND
如果需要使⽤多个列⼀起过滤才能查询出要查询的结果,可以使⽤ AND 进⾏连接。
select * from student where stu_name="test13" and stu_id=26;
2)OR
与 AND 相反,只要匹配任⼀条件就可以。
select * from student where stu_id=26 or stu_id=27;
3)计算次序
WHERE 可以包含任意数⽬的 AND 和 OR。允许两者结合以进⾏复杂和⾼级的过滤。
AND 的优先级⾼于 OR。也就是说在 SQL 中如果 AND 和 OR 混合使⽤,那么会优先运算 AND 然后在运算 OR。
例如:
SELECT * FROM products WHERE pro_id = 3 OR pro_id=4 AND pro_price>10;
那么对于 SQL 的理解是:查询 id 为 4 并且价格⼤于 10 或者 id 为3 的任意条件的产品信息。
如果要实现查询 id 为 3 或 4 并且价格⼤于 10 的产品信息,则需要使⽤圆括号来对操作符进⾏分组。
SELECT * FROM products WHERE (pro_id = 3 OR pro_id=4) AND pro_price>10;
⼩贴⼠:如果 AND 和 OR 同时使⽤,不管什么情况下,最好都使⽤圆括号来进⾏分组,避免造成不必要的歧义。
3、 IN
IN ⽤来指定条件范围,范围中的每个条件都可以进⾏匹配。⽤逗号分隔,全部括在圆括号中。
SELECT * FROM products WHERE pro_id IN (3, 4) AND pro_price>10;
作⽤和 OR 相同。使⽤ IN 的优点:
在使⽤较长的选项清单时,使⽤ IN 更为清楚直观。
使⽤ IN 时,计算次序也更加清楚。
IN ⽐ OR 执⾏更快。
IN 的最⼤有点是可以包含其他 SELECT 语句。
4、NOT IN
⽤来否定后⾯跟的条件。
SELECT * FROM student WHERE stu_id NOT IN(26, 303); //表⽰查询 stu_id 为 26、303 之外的学⽣信息
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论