有时候我们需要的判断条件并不能直接得到,需要经过计算和过滤,这时候可以使用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子句还有更多的用法,可以和之前的基本语法结合起来。
博客介绍了在数据库查询中,当判断条件需计算和过滤时可使用子句实现。以查询特定人员信息和特定年龄区间学生成绩为例,展示了子句的用法,还指出子句可与基本语法结合。
417

被折叠的 条评论
为什么被折叠?



