0

A/B/C という 3 つのテーブルがあり、A は B に関連し、B は C に関連しており、C からの情報を使用して A から情報を取得したい場合、次のことができますか? :

SELECT A.field 
FROM A, B, C
WHERE A.key = B.key and B.key2 = C.key2 and C.field = 'some_data';

これを調べてみたところ、「JOINS」についての言及がたくさんありましたが、私は SQL の経験があまりありません。だから私は疑問に思っていました:私のソリューションは論理的に機能しますか? また、実際に JOIN キーワードを使用する JOIN との違いは何ですか?

ありがとう。

4

3 に答える 3

2

はい、うまくいきます。ただし、明示的な結合構文を使用することをお勧めします。

SELECT A.field
FROM A
JOIN B ON A.key = B.key
JOIN C ON B.key2 = C.key2
WHERE C.field = 'some_data';
于 2012-12-15T06:47:58.193 に答える
0

はい、あなたがしたことはうまくいくでしょう、そしてそれは実際に私たちが「Equijoin」と呼んでいるものです。ただし、多くのテーブルで作業する場合は、コードの可読性に関してBarmarが指摘したように、結合構文を明示的に使用する方が効率的です。

于 2012-12-15T07:01:27.437 に答える
0

この場合、JOIN 句を使用する必要があります。

これが使用している Microsoft SQL Server であると仮定します。

SELECT A.field 
FROM A
JOIN B on B.key = A.key
JOIN C on C.key2 = B.key2
AND C.field = 'some_data';
于 2012-12-15T06:47:09.373 に答える