0

私はこれを尋ねる馬鹿のように感じます...

表1:ユーザー
idシリアル
人の整数
ユーザー名char(32)

表2:人
idシリアル
名前char(16)

ユーザーにユーザー名を指定して、個人の名前フィールドを返すクエリを実行できますか?

ユーザー
1 | 1 | larry123

人
1 | ラリー
2 | 縮れた

SQL?

select name from persons where users.person=persons.id and users.username='larry123';

の望ましいリターンで

ラリー

私はこれまで2つのパスでそれを行ってきましたが、おそらく結合を使用したネストされた選択が必要だと思います

1 | ラリー
4

1 に答える 1

5

SQLで結合を行う方法を尋ねているようです。

SELECT
    name
  FROM
    users JOIN persons ON (users.person = persons.id)
  WHERE
    users.username = 'larry123';

それはほとんどあなたが書いたクエリです。足りなかったのはjoin句だけでした。次のように参加することもできます。

SELECT name
FROM users, persons
WHERE
      users.person = persons.id
  AND users.username = 'larry123';

よく書かれたSQLの紹介を見つけることをお勧めします。

于 2008-12-19T06:28:27.593 に答える