首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
V2EX  ›  MySQL

关于 sql 查询和删除....请教!

  •  
  •   cnmllll · 272 天前 · 1225 次点击
    这是一个创建于 272 天前的主题,其中的信息可能已经有所发展或是发生改变。

    select A.ID from A left join B on A.ID=B.ID where B.ID is null

    1.我用以上语句搜出了和 B 表未关联的 A.ID

    2.请问我该如何写 sql 才能直接删除这些 A.ID ,既一条语句删除查出来未关联的 ID

    8 回复  |  直到 2018-07-20 22:43:44 +08:00
        1
    cnmllll   272 天前
    delete from A.ID where A.ID not not in (select A.ID from A left join B on A.ID=B.ID where B.ID is null)
    这样可以么
        2
    cnmllll   272 天前
    delete from A where A.ID not not in (select A.ID from A left join B on A.ID=B.ID where B.ID is null)
    这个
        3
    jintianfengda   272 天前
    DELETE
    a
    FROM
    a
    LEFT JOIN
    b
    ON
    a.ID = b.ID
    WHERE
    b.id is null
        4
    cnmllll   272 天前
    delete from A where A.ID in (select A.ID from A left join B on A.ID=B.ID where B.ID is null) 这个终极版
        5
    akira   272 天前   ♥ 1
    这个 sql 和 select id from A where id is null 有啥区别
        6
    lrh3321   272 天前
    @akira 表 A 中的行在表 B 中不一定有对应的行,他要删的就是这些无用的行。
        7
    akira   272 天前
    @lrh3321 嗯呐,审题不仔细 >"<
        8
    iwiki   272 天前
    delete from a where not exists (select 1 from b where a.id=b.id)
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3827 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 17ms · UTC 09:33 · PVG 17:33 · LAX 02:33 · JFK 05:33
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1