我觉得自己像个白痴一样......
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
答案 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。