连接表摆脱空数据

时间:2012-07-06 11:30:07

标签: php mysql

所以我做了以下查询,我想知道我是否可以摆脱返回的空值,或者更好地结合表格,因为教师和学生列不会在同一行重复。教师栏中有空的,其他(学生)有数据,反之亦然。

SELECT * FROM rifd
LEFT JOIN faculty ON rifd.number = faculty.tagid 
LEFT JOIN student ON rifd.number= student.tagid

4 个答案:

答案 0 :(得分:3)

尝试UNION查询:

SELECT * FROM rifd JOIN faculty ON rifd.number = faculty.tagid
UNION
SELECT * FROM rifd JOIN student ON rifd.number = student.tagid

答案 1 :(得分:1)

SELECT * FROM rifd 
LEFT JOIN faculty ON rifd.number = faculty.tagid 
LEFT JOIN student ON rifd.number= student.tagid

不使用LEFT JOIN而只使用JOIN。 左连接采用所有左列行并添加右列,其中没有正确值,它放置NULL。 只需JOIN将获取两行都正确的行。

答案 2 :(得分:1)

使用JOIN代替LEFT JOIN,您的额外行应该消失。

答案 3 :(得分:0)

你根本也不能使用JOIN。像这样使用WHERE语句,速度要快得多:

SELECT * 
  FROM rifd,
       faculty,
       student
WHERE rifd.number = faculty.tagid
  AND rifd.number = student.tagid