MySQL查询2中的表格1

问题描述:

我在写一个MySQL查询以从同一个数据库中的两个表中获取数据时遇到问题。我不知道如何将2个表格合并为1个表格,以便我可以使用PHP来显示信息。现在我正在使用2个查询和PHP来加入他们......我真的需要他们的人名和得分。MySQL查询2中的表格1

tbl_scores 
---------- 
user_id 
points 

tbl_users 
--------- 
user_id 
name 

tbl_users有更多的领域,但这些是我认为唯一的问题吗?请帮助或发送我需要查看以了解更多信息。

+0

这是一个基本的'JOIN'操作:'SELECT tbl_scores.user_id,tbl_scores.points,tbl_users.name FROM tbl_users LEFT JOIN tbl_scores ON tbl_users.user_id = tbl_scores.user_id ' – 2012-03-17 01:15:10

+1

[关于SQL连接的维基百科文章](http://en.wikipedia.org/wiki/Sql_join)非常有用。如果用户在分数表中没有行,我使用了'LEFT JOIN'。 – 2012-03-17 01:15:44

你打算使用时加入字...在MySQL联接的更多信息可以在互联网上找到,但我发现一个在这里:http://mysqljoin.com/

下面的代码是未经测试,但应该努力为您的方案...

SELECT 
    u.name, 
    s.points 
FROM 
    tbl_users AS u LEFT JOIN tbl_scores AS s ON u.user_id = s.user_id 

SELECT * FROM tbl_scores RIGHT JOIN tbl_users ON tbl_scores.user_id = tbl_users.user_id; 

使用Join多specificaly Left Join因为它返回左表中的所有行(tbl_users),即使是在正确的表(tbl_scores)不匹配,使您GE吨所有用户甚至包括那些没有分数:

SELECT * FROM tbl_users LEFT JOIN tbl_scores ON 
    tbl_users.user_id = tbl_scores.user_id; 
+0

只要指向想要拥有强制性数据的表,联接的方向就无关紧要,因此我的右联接与您的左联接一样好。 – AlienWebguy 2012-03-17 01:20:16