Postgresql
如何通過外鍵進行查詢,同時僅將值與另一列中用作外鍵的值在同一行
數據庫管理員,我需要你的幫助!
我直接使用 SQL 處理數據庫的經驗相當有限,因為我主要使用 ORM 來滿足我作為前端開發人員的所有需求,但這次我需要使用 SQL 在表中查找使用列的令牌的表作為其外鍵*,其中(在表中)我只能訪問儲存在列中的資訊。
tokens``id``users
users
*username
**我正在使用 PostgreSQL 數據庫。感謝你的幫助
您想出的答案可以工作,但如果您的子查詢產生多個結果(儘管我認為不太可能)並且可能比使用更相關的方法(例如使用
JOIN
評論中提到的類似 mustaccio)性能更低,則可能會出錯。您絕對應該閱讀它們,這將允許您生成如下查詢:SELECT token FROM tokens INNER JOIN users ON tokens.id_ref = users.id WHERE users.username = '<username>'
好的,所以在擺弄了一下之後,我找到了我的解決方案:
SELECT token FROM tokens WHERE id_ref = (SELECT id FROM users WHERE username = '<username>');