gpt4 book ai didi

mysql - sql查询以从5个表中获取数据

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

我有下面的表结构。

master table >
m_id, pk
m_name,
p_id, fk
s_id, fk
t_id, fk
x_id fk

p table >
p_id, pk
p_name

s table >
s_id, pk
s_name

t table >
t_id, pk
t_name

x table >
x_id, pk
x_name


我想获取给定m_id的m_id,m_name,p_name,s_name,t_name,x_name。

我在查询中应用内部联接

SELECT mt.m_id, mt.m_name, pt.p_name, st.s_name, tt.t_name, xt.x_name
FROM master mt
INNER JOIN p AS pt ON pt.p_id = mt.p_id
INNER JOIN s AS st ON st.s_id = mt.s_id
INNER JOIN t AS tt ON tt.t_id = mt.t_id
INNER JOIN x AS xt ON xt.x_id = mt.x_id
WHERE mt.m_id = 50;


问题:还有其他有效的方法可以实现此目的,或者我的查询还可以吗?

谢谢。

最佳答案

您的查询是完全可以的。如果您只想更改查询,则可以使用以下之一。我只是删除了别名

SELECT mt.m_id, mt.m_name, p.p_name, s.s_name, t.t_name, x.x_name
FROM master mt
INNER JOIN p ON p.p_id = mt.p_id
INNER JOIN s ON s.s_id = mt.s_id
INNER JOIN t ON t.t_id = mt.t_id
INNER JOIN x ON x.x_id = mt.x_id
WHERE mt.m_id = 50;

关于mysql - sql查询以从5个表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28209078/

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