例如:一张表 test 字段有 t_id, t_title , t_content, t_startTime, t_endTime 等
假设t_title数据有 测试标题1,测试标题2,测试标题3,测试标题4
现在测试标题1,2 都被另一张表(与test表关联)使用了。
如何查询未使用的标题中的所有数据?
select * from t_title ti where not exists(select 1 from test te where te.t_title = ti.title)
“现在测试标题1,2 都被另一张表(与test表关联)使用了”这句话的意思是不是,t_title 与另外一张表外键关联了?
如果是这样,那你可以写一个这样的SQL:
SELECT DISTINCT t.* FROM test t
LEFT JOIN 另外一张表 t2 ON t.id != t2.test_id
join 表的方式,那张表的数据少,就以哪张表为主表
先关联查询再判断第二张表的外键是null:
SELECT t.* FROM test t
LEFT JOIN 另外一张表 t2 ON t.id = t2.test_id where t2.test_id is null