连接两个表并仅在表2中不选择时选择记录

时间:2014-04-28 20:22:34

标签: php mysql

我想加入两个表,只打印表1中的rec_number不在表2中的记录。

table 1
name        rec_number
john smith   123
Bob jonson   345
etc

Table 2 
Bob jonson   345
etc

php中的查询是什么,这样查询只能给我John Smith,而不是bob jonson。 它是:

    $query = "select * from table1
    left join rec_number on table1.rec_number = table2.rec_number";
    $result=mysql_query($query);

谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用此查询

select 
t1.*
from table1 t1
left join table2 t2 
on t2.rec_number = t1.rec_number
where t2.rec_number IS NULL

答案 1 :(得分:0)

除了Abhik提到的left join之外,您还可以使用子选择:

SELECT * FROM table1 WHERE table1.name NOT IN (SELECT name FROM table2);