我只是想知道我能提出这样的问题吗?
SELECT
t1.id,
t1.name
FROM t1
LEFT JOIN t2 ON t2.id = (SELECT id FROM t3 WHERE t1.address LIKE 'street%' ORDER BY name ASC)
ORDER BY name DESC
这是因为我想将更复杂的查询添加到 LEFT JOIN
排序和排序以及一些依赖于另一个表的语句。。谢谢!
u、 p.d。
SELECT * FROM t3 WHERE t1.address LIKE CONCAT(address,'%') ORDER BY LENGTH(address) DESC
实际上,我想把这个查询写成 LEFT JOIN
子查询( ORDER BY
万一 LIKE
有道理!)。
1条答案
按热度按时间f87krz0w1#
理论上你可以这么做。
在join语句中编写子查询除了像where条件一样过滤两个表的笛卡尔积之外没有任何效果。但是这样写查询毫无意义,因为我们不知道您使用它的上下文。
上面的查询可以用更简洁的方式编写,如下所示:
它将生成与您提供的查询相同的结果集