如上表。知道两个表求出每个地区的的年龄最大的,且如下表所示
但是笔试的时候,我没做出来。考场上我想用max()等聚合函数的,结果还是不对。后来我查了好久
select t.name,t.age,city.`name` from student t,city where not exists(select 1 from student where cityid=t.cityid and Age> t.Age) and t.cityid=city.id;
以上就是完美的答案
【补充】
sql中select 1是什么意思
-
每个“1”代表有1行记录,同时选用数字1还因为它所占用的内存空间最小。
-
一个很不错的SQL语句写法,它通常用于子查询。
-
可以减少系统开销,提高运行效率。
-
因为这样子写的SQL语句,数据库引擎就不会去检索数据表里一条条具体的记录和每条记录里一个个具体的字段值并将它们放到内存里。
-
根据查询到有多少行存在就输出多少个“1”。
-
用数字0的效果也一样。
-
在不需要知道具体的记录值是什么的情况下这种写法无疑更加可取。
-
下面就是求“最某个字段下(cityid)的另外一个字段(age)的最大的数据” 的模板
-
感觉java后端的面试很有难度,自己准备的根本o((⊙﹏⊙))o.不够应付企业的各种笔试和面试,有点迷茫。难怪读计算机的出来转行率也比较高。