SQL多连接查询

时间:2011-11-03 13:17:06

标签: sql join

我有这个SQL查询,并直接在它下面,基于结果的另一个查询。 我想把它们合并,但我很困惑,成为一个新手。

它从3个表中提取数据 - 来自USERS和PLAYERS表的第一个查询。然后,如果玩家在“团队”中,它将从TEAMS表中获取标签。

我的代码:

$sql_result4=mysql_query("SELECT * FROM users JOIN players ON users.player=players.name WHERE users.id='$id'"); 
$rs4 = mysql_fetch_array($sql_result4); 

if ($rs4[team] !=0) {
$sql_result = mysql_query("SELECT tag FROM teams WHERE id='$rs4[team]'", $db); 
    $rs = mysql_fetch_array($sql_result);
    // get data
}

我的问题是,如何将第二个查询与第一个查询合并?我甚至使用了正确的加入方式吗?

我希望能够使用PLAYERS表中的大量数据,但只能使用USERS和TEAMS中的一两列。

1 个答案:

答案 0 :(得分:1)

只需使用左连接。

SELECT ... 
FROM users u 
    JOIN players p ON u.player = p.name
    LEFT JOIN teams t ON p.team = t.id
WHERE u.id = ?