Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在不使用联接的情况下联接特定列的两个表_Sql_Database - Fatal编程技术网

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)