Sql 如何在不使用联接的情况下联接特定列的两个表
我正在两个不同的表上运行查询:-Sql 如何在不使用联接的情况下联接特定列的两个表,sql,database,Sql,Database,我正在两个不同的表上运行查询:- select * from MessagesTable INNER JOIN ErrorTable ON MessagesTable.msgId = ErrorTable.msgId. 有没有其他方法可以不使用JOIN编写此查询?如果您不想在查询中使用JOIN,则可以为此编写子查询 下面是SQL数据库的查询- select * from MessagesTable where MessagesTable.msgId in (select ErrorTabl
select * from MessagesTable INNER JOIN ErrorTable ON MessagesTable.msgId = ErrorTable.msgId.
有没有其他方法可以不使用JOIN编写此查询?如果您不想在查询中使用JOIN,则可以为此编写子查询 下面是SQL数据库的查询-
select *
from MessagesTable
where MessagesTable.msgId in (select ErrorTable.msgId from ErrorTable)
我不知道你为什么要这样做,但是的,只要你只想从MessagesTable获得数据,你就可以这样做。它被称为子查询
是的,您可以使用此查询代替特定列的联接
从MessagesTable、ErrorTable中选择*,其中MessagesTable.msgId=ErrorTable.msgId为什么要这样做?没有其他方法可以连接两个表,然后再连接它们。即使你不使用显式联接,你仍然在联接它们。我只是不想使用联接,但我确实需要联接它们,所以我只是询问查询是否可以在不使用联接的情况下联接两个表dat?使用显式联接有什么错?这是连接两个表的最佳方式。你可能想重新表述你的问题,说明你所寻找的原因,以避免人们进一步降低投票率。这不是一种连接。我知道,但我相信发布Q的人正在寻找这样的答案。只是这个问题的措辞不恰当。这会起作用吗?;-从MessagesTable、ErrorTable中选择*,其中MessagesTable.msgId=ErrorTable.msgId仍然是连接!只是您没有使用JOIN关键字。您想要实现什么?这不是一个join,所以它将只从MessagesTable.msgId=ErrorTable.msgId的地方获取MessagesTable中的所有列和ErrorTable中的所有列
select * from MessagesTable WHERE msgId IN (select msgId from ErrorTable)