有时候我们需要的判断条件并不能直接得到,需要经过计算和过滤,这时候可以使用
where
子句来实现。
还是以这张表为例子:
查询id为2的人的信息,为了演示
where
子句的效果,所以这里故意写的复杂:
select * from student where name = (select name f判断rom student where id = 2);
这里可以拆分为两句,第一句是
select name from student where id = 2
,找到id是2的姓名,然后判断姓名是不是等于这个,相等就查询出来。
例子:查询年龄在【学生
id1
的年龄和
id2
的年龄】之间的学生的数学成绩和英语成绩:
select name,math,english from student where age between (select age from student where id = 1) and (select age from student where id = 2);
实际上是查询年龄在
18
到
20
之间的学生成绩,这里只是为了演示
where
子句的效果,刻意这样写的。结果如下图所示:
where
子句还有更多的用法,可以和之前的基本语法结合起来。
版权声明:本文为will__be原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。