単純な内部結合
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