如何使用php和mysql从另一个表中搜索记录的存在

时间:2014-02-17 07:47:42

标签: php mysql

我使用php和mysql。我有两张桌子,

table A (Id: auto-increment , idno)  table B (Id:auto-increment, sidno)

表A包含约3000条记录,表B包含约27000条记录。我想搜索表A中的每个记录是否存在于表B中,如果不打印表B中不存在的记录。

我试图检索表A中的记录并根据表A检查它们,但我无法成功。完成查询需要很长时间。

我一直在搜索,但无法得到这样的东西。

请有人帮帮我。

谢谢!

4 个答案:

答案 0 :(得分:1)

以下查询可能会返回表B中没有的所有idno

 SELECT * FROM tableA WHERE `idno` NOT IN (SELECT `sidno` FROM tableB)

SQL Fiddle Demo

答案 1 :(得分:0)

试试这个

   SELECT * FROM table2 t where sid NOT IN (select id from table1) ;

Demo

答案 2 :(得分:0)

像这样

从tableA中选择*,其中减去选择id,其中tableA.id = tableB.id;

MINUS http://www.techonthenet.com/sql/minus.php

答案 3 :(得分:0)

确定。试试这个:

SELECT tableB.Id, tableB.sidno
FROM tableA
RIGHT JOIN tableB ON tableA.Id = tableB.ID
WHERE tableA.Id = 'NULL';

这应该会为您提供所需的所有记录。