【发布时间】:2018-05-28 02:55:21
【问题描述】:
我正在使用其他人的代码,并且看到了一些我不理解的 Oracle SQL 用法:
SELECT
column1, column2,
(
SELECT columnA
FROM tableA
JOIN tableB ON tableA.table_b_fk = tableB.my_pk
FETCH FIRST 1 ROWS ONLY
) AS column3
FROM tableC
...
我很难理解他们为什么使用这个:
(
SELECT columnA
FROM tableA
JOIN tableB ON tableA.table_b_fk = tableB.my_pk
FETCH FIRST 1 ROWS ONLY
) AS column3
他们只是将表格用作列吗?我以为你只能使用列?
你真的能做到吗?它是如何工作的?
我不知道在哪里可以找到这种用法的解释,所以我在这里问。
如有误会请指正!
【问题讨论】:
-
你确定它是 columnA , columnB 而不是 columnA || columnB?
-
只有a列,我在问题代码中写错了。我已经修改并修复了错误
-
这称为标量子查询,在SQL语句中比较常见。