首页   注册   登录
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 · 2018-07-20 19:13:10 +08:00 · 1423 次点击
    这是一个创建于 489 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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   2018-07-20 19:20:47 +08:00
    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   2018-07-20 19:21:13 +08:00
    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   2018-07-20 19:21:31 +08:00
    DELETE
    a
    FROM
    a
    LEFT JOIN
    b
    ON
    a.ID = b.ID
    WHERE
    b.id is null
        4
    cnmllll   2018-07-20 19:35:51 +08:00
    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   2018-07-20 19:39:52 +08:00   ♥ 1
    这个 sql 和 select id from A where id is null 有啥区别
        6
    lrh3321   2018-07-20 19:48:39 +08:00
    @akira 表 A 中的行在表 B 中不一定有对应的行,他要删的就是这些无用的行。
        7
    akira   2018-07-20 19:51:38 +08:00
    @lrh3321 嗯呐,审题不仔细 >"<
        8
    iwiki   2018-07-20 22:43:44 +08:00
    delete from a where not exists (select 1 from b where a.id=b.id)
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4228 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 28ms · UTC 03:15 · PVG 11:15 · LAX 19:15 · JFK 22:15
    ♥ Do have faith in what you're doing.