Sql 有没有简洁的方法来实现这个左连接?
简单的内部连接Sql 有没有简洁的方法来实现这个左连接?,sql,Sql,简单的内部连接 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 有没有类似的简洁方法 谢谢 如果不想使用ANSI标准JOINs,请使用隐式语法: select * from table1 a, table2 b where
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
有没有类似的简洁方法
谢谢 如果不想使用ANSI标准
JOIN
s,请使用隐式语法:
select * from table1 a, table2 b
where a.inventory_id = b.inventory_id
如果不想使用ANSI标准
JOIN
s,请使用隐式语法:
select * from table1 a, table2 b
where a.inventory_id = b.inventory_id
自然连接如何:
select *
from table1 a
natural join dbo.table2 b
但是,您的RDBMS可能不支持它,我建议您在查询中始终指定连接类型和条件。从长远来看,它更易于维护
我从dbo.
猜测您使用的是SQL Server,但它不受支持。有关更多信息,请参阅
编辑:还有一种可能性是SQL Server不支持的,但值得注意。这实际上是值得使用的,因为您的连接条件已明确指定。更多信息
自然连接如何:
select *
from table1 a
natural join dbo.table2 b
但是,您的RDBMS可能不支持它,我建议您在查询中始终指定连接类型和条件。从长远来看,它更易于维护
我从dbo.
猜测您使用的是SQL Server,但它不受支持。有关更多信息,请参阅
编辑:还有一种可能性是SQL Server不支持的,但值得注意。这实际上是值得使用的,因为您的连接条件已明确指定。更多信息
如果您使用的是PostgreSQL、MySQL或Oracle,则可以使用 不确定问题标题为什么包含“left”,但您也可以执行
自然的left join
不幸的是,我确信您使用的是SQL Server,这是由于
dbo。
,因此,不需要满足ON
条件。如果您使用的是PostgreSQL、MySQL或Oracle,您可以使用
不确定问题标题为什么包含“left”,但您也可以执行自然的left join
不幸的是,我确信您使用的是SQL Server,这是由于
dbo.
,因此不需要满足ON
条件。我希望SELECT*
用于说明,而不是在实践中使用。只有当两个关键字段的名称相同时,它才会简洁。我宁愿把它们拼出来,如果我将来需要更改它们,我不需要更改语法。mssql,非常感谢大家!我希望SELECT*
用于说明,而不是实际使用。只有在两个关键字段的名称相同时,它才会简洁。我宁愿把它们拼出来,如果我将来需要更改它们,我不需要更改语法。mssql,非常感谢大家!