从子查询中的派生表访问别名

时间:2020-03-04 07:55:33

标签: mysql sql subquery

我喜欢从嵌套子查询语句中的from子句访问别名短语。

示例:

SELECT * FROM t1, (SELECT * FROM t2 WHERE name = "hello") AS t3 
WHERE t1.name in (SELECT * FROM t3);

我知道该示例通常没有任何意义,但我认为,它很好地说明了我的问题。 所以我不知道如何从子查询中的FROM子句访问别名。

1 个答案:

答案 0 :(得分:0)

您想要JOIN

SELECT t1.*, t2.*
FROM t1 INNER JOIN
     t2
     ON t2.col = t1.name
WHERE t2.name = 'hello';

您还可以使用子查询:

SELECT t1.*
FROM t1
WHERE t1.name IN (SELECT t2.col FROM t2 WHERE t2.name = 'Hello');

注意:sub-query将只接受一个带有外部查询表达式的表达式(外部查询中指定了1个表达式)。

相关问题