左外连接问题

时间:2011-07-15 17:58:28

标签: php mysql

我有2张桌子。

表1: t_atc_list

id | a_name | s_title | r_name
------------------------------
80 | ss     | 128     | 5

s_title& r_name是外键。

表2: t_s_list

s_id | title
-------------
128  | Song Title

我想在此使用左连接查询..如果't_atc_list'可能位于't_s_list'中,则选择所有't_atc_list'值。

$query=mysql_query("SELECT t.s_title, s.title from t_atc_list t LEFT OUTER JOIN t_s_list s ON t.s_title=s.s_id");
$row=mysql_fetch_array($query);

如果我使用正确加入其工作..

$query=mysql_query("SELECT t.s_title, s.title from t_s_list s RIGHT OUTER JOIN t_atc_list t ON t.s_title=s.s_id");
$row=mysql_fetch_array($query);

是什么原因左连接不起作用但是正确的加入进展顺利?我认为这两个问题都与问题完全相同吗?

1 个答案:

答案 0 :(得分:0)

这是一个严格的数据相关问题,您的SQL语法是正确的,但您的数据不能排列。

有关SQL的可视化,请查看此处:http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

此外,如果您进行了正确的连接,这意味着您只是从第二个表中获取数据,并在第一个表中获取空值。我只是在猜测,因为我看不到真正的数据示例。