在Access2016数据库中的一张表,有三个字段,字段以及相应的数据如下:
p n i
1 a 1
2 b 2
2 c 3
3 d 4
3 e 5
4 f 6
字段名分别是p,n,i,表名记为aa。字段p和i的内容均为数字,n的内容为文本。
在查询的SQL视图中输入如下语句:
SELECT p
FROM aa AS t1
WHERE p in (select p from aa t2 where t1.n < t2.n);
点击运行后,得到如下的结果:
目前不太懂这句sql语句的含义,为什么运行之后会得到这样的结果,希望懂行的人能帮忙解释下。
这句话涉及自联结,难点在于where子句,本来想先看select子句,奈何t1表是在select主句中用到,所以比较难推理。