2009-03-12 10 views

答えて

4
select * 
from Table1 
     inner join 
     Table2 
     on Table1.ColumnName = Table2.ColumnName 

シンプル。 (お使いのDBMSに依存する)

+0

明らかに新しい人と、SELECT *を奨励するのは良い考えですか? – StingyJack

+2

あなたはスキーマのヒントなしに他に何を言うことができますか? –

+0

Columnはキーワードであるため、ColumnではなくColumnNameをお勧めします。それは実際のSQLでは重要ではなく、単にコード例です。 – DevinB

5

あなたが求めているのは、リレーショナル用語ではNATURAL JOINです。この節をサポートするデータベースサーバーもあります。テーブル名のエイリアスを使用し

SELECT .... FROM Table1 JOIN Table2 ON Table1.JoinCol = Table2.JoinCol ... 
+0

あなたのポイントに加えて、テーブルのテーブルまたはエイリアスを常に指定して、誰が列がどこから来るのかを正確に知るようにします。後でリファクタリング/メンテナンスを簡単にします。 – StingyJack

8

最短である:私は手動でプロバイダのような、そのような句をサポートしている場合でも、結合式を指定することを好むだろう。

SELECT a.*, b.* 
FROM table1 as 'a' 
    INNER JOIN table2 as 'b' 
    ON a.col1 = b.col1 

フルテーブル名を指定することもできます。本当に

SELECT table1.*, table2.* 
FROM table1 
    INNER JOIN table2 
    ON table1.col1 = table2.col1 
0

万全を期すために、あなたは「USING」使用することができます

SELECT 
    ... 
FROM 
    table_a 
INNER JOIN 
    table_b 
USING 
    (common_column); 
関連する問題