gpt4 book ai didi

MySQL查询引用另一个表的参数

转载 作者:行者123 更新时间:2023-11-29 08:28:49 24 4
gpt4 key购买 nike

如果这看起来很简单,我提前表示歉意,因为我的作业需要在 3 小时内通过,而且我没有足够的时间进行进一步的研究,因为今晚我还有另一项待处理的作业要提交。我只知道基本的MYSQL命令,不知道这些类型。请帮忙。

假设我有两个表:

   ________________     _________________
| customers | | agents |
|________________| |_________________|
|(pk)customer id | |(pk) agent_id |
|(fk) agent_id | | first_name |
| first_name | | last_name |
| last_name | | address |
|________________| |_________________|

基本上我只是想知道如何查询类似的内容:(用不正确的术语)

SELECT * FROM 客户 WHERE agent_id = '(AGENTS 表中 Michael Smith 的agent_id)'

显然我只有代理的agent_id,如果我根据id知道代理名称是什么,我可以直接调用它:从客户中选择 * WHERE agent_id = '4'

但是我如何通过提交代理的名字和姓氏作为参数来查询它?(名字和姓氏,因为代理可以具有相同的名字,甚至相同的姓氏)

最佳答案

请记住,您的外键并不能帮助您构建查询,您必须告诉数据库您想要查询中的内容(但是,外键可以帮助跨表传播的数据更加一致)。

您可以使用 JOIN这里。

你可以这样实现:

SELECT * 
FROM customers C
INNER JOIN agents A ON C.agent_id = A.agent_id
WHERE A.last_name = 'Smith'
AND A.first_name = 'Michael';

关于MySQL查询引用另一个表的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17222578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com