假如一条SQL中,涉及到查询多个表,如果上面的SQL中查询出一个值并为它指定了别名,那么下文查询时能不能使用这个值呢?
我不知道从哪里听的,而且一直这样以为,就是不能,因为很少写这样的代码,所以固执的一直这样认为。
比如说如下SQL:
SELECT
(SELECT a.a1 FROM a WHERE id=22) as aa1,
(select b.b1 from b where id=aa1) as bb1
FROM c LIMIT 1
从A表查询某列并给予别名AA1,然后查询B表时使用这个AA1值来查询B表的列,可以这样写吗?
实事上是可以的,不用想那么多。
这事其实挺让我郁闷的,写了这么多年代码,也写了无数的SQL,为什么还是会犯很低等的错误?
因此可以看出不断学习的重要性,很牛的技术要学,很普通的基础也要学,因为你要用到,而且你不会。