我在两个不同的表运行查询: -如何加入特定列两个表,而无需使用连接
select * from MessagesTable INNER JOIN ErrorTable ON MessagesTable.msgId = ErrorTable.msgId.
是否有另一种方式来写这个查询,而无需使用JOIN?
我在两个不同的表运行查询: -如何加入特定列两个表,而无需使用连接
select * from MessagesTable INNER JOIN ErrorTable ON MessagesTable.msgId = ErrorTable.msgId.
是否有另一种方式来写这个查询,而无需使用JOIN?
如果您不想在查询中使用连接,您可以为此编写子查询。
下面查询SQL数据库 -
select *
from MessagesTable
where MessagesTable.msgId in (select ErrorTable.msgId from ErrorTable)
这不是一个加入 –
我不知道你想这样做,但为什么是你可以为你只MessagesTable
想要的数据,只要做到这一点。它的名字叫sub query
。
select * from MessagesTable WHERE msgId IN (select msgId from ErrorTable)
这不是一个加入 –
我知道,但我相信发布Q的人正在寻找这样一个答案。只是这个问题没有妥当解释。 – YuVi
这会做一个诀窍吗? - 从MessagesTable中选择*,ErrorTable其中MessagesTable.msgId = ErrorTable.msgId –
是的,你可以就地加入特定列使用此查询
SELECT * FROM MessagesTable,ErrorTable其中MessagesTable.msgId = ErrorTable.msgId
所以它将从MessagesTable和ErrorTable中的所有列中只读取MessagesTable.msgId = ErrorTable.msgId –
你为什么要这么做?没有其他办法可以加入两张桌子,然后加入他们。即使你不使用明确的“JOIN”,你仍然在加入它们。 –
我只是不想使用JOIN,但是我确实需要加入它们,所以我只是询问查询我有可能在不使用JOIN的情况下连接两个表dat。 –
使用明确的'JOIN'有什么问题?这是加入两个表格的最佳方式。 –