0

问这个我感觉像个白痴...

表 1:用户
身份证号
人整数
用户名字符(32)

表2:人
身份证号
名称字符(16)

我可以通过在 users 中提供用户名来运行返回 person 中的 name 字段的查询吗?

用户
1 | 1 | 拉里123

人
1 | 拉里
2 | 卷曲

SQL?

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

与期望的回报

拉里

到目前为止,我一直在通过两次传递来完成它,并且认为使用连接的嵌套选择可能是我需要的

1 | 拉里
4

1 回答 1

5

听起来您在问如何在 SQL 中进行联接:

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

这几乎就是你写的查询。你所缺少的只是连接子句。你也可以这样加入:

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

我建议找到一篇写得很好的 SQL 介绍。

于 2008-12-19T06:28:27.593 回答