GakkiYui1
GakkiYui1
采纳率40%
2020-07-15 10:07 阅读 169
已采纳

MySQL: 如何查询一个字段还未使用的所有数据

例如:一张表 test 字段有 t_id, t_title , t_content, t_startTime, t_endTime 等

假设t_title数据有 测试标题1,测试标题2,测试标题3,测试标题4
现在测试标题1,2 都被另一张表(与test表关联)使用了。
如何查询未使用的标题中的所有数据?

感谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    qq_36911145 封印di恶魔 2020-07-15 15:42
    select * from t_title ti where not exists(select 1 from test te where te.t_title  = ti.title)
    
    点赞 评论 复制链接分享
  • w2298119289j 哆啦A梦丶幻想 2020-07-15 10:36

    “现在测试标题1,2 都被另一张表(与test表关联)使用了”这句话的意思是不是,t_title 与另外一张表外键关联了?
    如果是这样,那你可以写一个这样的SQL:

    SELECT DISTINCT t.* FROM test t
    LEFT JOIN 另外一张表 t2 ON t.id != t2.test_id
    
    

    join 表的方式,那张表的数据少,就以哪张表为主表

    点赞 评论 复制链接分享
  • meng20166 乐古 2020-07-15 11:30

    先关联查询再判断第二张表的外键是null:
    SELECT t.* FROM test t
    LEFT JOIN 另外一张表 t2 ON t.id = t2.test_id where t2.test_id is null

    点赞 评论 复制链接分享

相关推荐