SQL选择基于链接字段

时间:2008-12-19 06:16:03

标签: sql select join

我觉得自己像个白痴一样......

Table 1: users
id serial
person integer
username char(32)

Table 2:persons
id serial
name char(16)

我是否可以通过在用户中提供用户名来运行在人员中返回姓名字段的查询?

users
1 | 1 | larry123

persons
1 | larry
2 | curly

SQL?

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

希望返回

larry

到目前为止,我已经进行了两次传递,并且认为使用连接的嵌套选择可能是我需要的

1 | larry

1 个答案:

答案 0 :(得分: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。