admin

我如何在不使用联接的情况下重写查询

sql

我想知道如果不使用联接将如何编写此查询。我一直在尝试解决联接不可行或无法使用(无法使用)的情况。

SELECT
    *
FROM
(
    table1
INNER JOIN
    table2
ON
    table1.id = table2.id
)
INNER JOIN
    table3
ON
(
    table1.id2 = table3.id2
)
AND
(
    table1.id3 = table3.id3
)
WHERE
    table1.id = 1

我不能使用联接的原因是因为应用程序使用HQL而不是标准SQL,并且HQL使得联接变得异常困难。


阅读 138

收藏
2021-06-07

共1个答案

admin

如果不以一种或另一种方式联接它们,就不可能从两个不同的表中提取数据。您正在使用JOIN语句,但是可以通过将其放置在where子句中来实现相同的目的,例如:

SELECT * FROM table1, table2 WHERE table1.id = table2.id AND ...
2021-06-07