我很难让我了解MySQL Join功能。
这是我有两张桌子:
用户表:
admin_id username
*1 peter93
2 stackoverflowrocks
3 user3*
管理员详情表:
admin_username description image
pedro93 [text] [image_url]
stackoverflowrocks [text] [image_url]
user3 [text] [image_url]
我知道通常将两个数据库链接在一起你会使用ID号,但在这种情况下我想加入两个表,其中admin_username = username。
有人能帮帮我吗?如果有帮助的话,它适用于PHP脚本。
提前致谢! 彼得
答案 0 :(得分:7)
所以没关系。你可以加入你喜欢的任何东西。
select *
from user
inner join admin
on user.username=admin.admin_username
答案 1 :(得分:1)
通过字符串列连接与通过Id
连接相同select * from admin_table
inner join admin_details on admin_table.username = admin_details.admin_username
但请确保您拥有和索引用户名列,否则当您有大量记录时,您的查询会变慢
答案 2 :(得分:1)
您可以加入几乎所有字段,但您可能希望记住数据类型不匹配,索引等
所有用户
SELECT u.*, a.*
FROM users AS u
LEFT JOIN admin AS a
ON u.username = a.username
所有管理员用户
SELECT u.*, a.*
FROM users AS u
INNER JOIN admin AS a
ON u.username = a.username
所有管理员
SELECT u.*, a.*
FROM users AS u
RIGHT JOIN admin AS a
ON u.username = a.username