一个简单的内连接
select * from table1 a
inner join
dbo.table2 b
on a.inventory_id = b.inventory_id
像这样说不是很好和直观吗?
select * from table1 a
inner join
dbo.table2 b
on inventory_id
有没有类似的简洁方法?
谢谢!
一个简单的内连接
select * from table1 a
inner join
dbo.table2 b
on a.inventory_id = b.inventory_id
像这样说不是很好和直观吗?
select * from table1 a
inner join
dbo.table2 b
on inventory_id
有没有类似的简洁方法?
谢谢!
如果您使用的是 PostgreSQL、MySQL 或 Oracle,则可以使用Natural Join
select *
from table1 a
natural join table2 b
不知道为什么问题标题包含“左”,但您也可以这样做natural left join
。
不幸的是,我确定您使用的是 SQL Server,因为dbo.
, 所以不,ON
条件是必需的。
自然连接怎么样:
select *
from table1 a
natural join dbo.table2 b
但是,您的 RDBMS 可能不支持它,我建议您始终在查询中指定连接类型和条件。从长远来看,它更易于维护。
我猜测dbo.
您正在使用 SQL Server,但那里不支持它。请参阅此处了解更多信息。
编辑:
SQL Server 再次不支持另一种可能性,但值得注意。这实际上可能值得使用,因为您的连接条件已明确指定。更多信息在这里。
select *
from table1
inner join dbo.table2 using (inventory_id)
如果您不想使用 ANSI 标准JOIN
,则使用隐式语法:
select * from table1 a, table2 b
where a.inventory_id = b.inventory_id