我有两个名为table_a
和table_b
的表。
table_a
数据
id name
1 sahadat
2 kamrul
3 Harish
4 Ilma
5 Martin
6 Ponting
table_b
数据
id table_a_id
1 2
2 5
3 1
现在我想从table_a
这样选择数据
id data
3 Harish
4 Ilma
6 Ponting
如何编写查询以获得此结果。
我尝试了什么
select * from `table_a` where `id` NOT IN (select table_a_id from table_b);
当table_b
有一些数据时,它可以正常工作。但是当table_b
为空时,它会显示错误
答案 0 :(得分:2)
select * from table_a where id not in (select table_a_id from table_b);
答案 1 :(得分:0)
请使用以下查询。
SELECT t1.* FROM table_a AS t1 WHERE NOT EXISTS
( SELECT * FROM table_b AS t2 WHERE t2.table_a_id = t1.id);
答案 2 :(得分:0)
试一试
mysql_query("SELECT * FROM table_a t1 WHERE NOT EXISTS
(SELECT * FROM table_b t2 WHERE t2.table_a_id = t1.id)");