• delete 多表删除的使用(连表删除)


    delete 多表删除的使用

     
     
    1、从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉

    DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 



    DELETE  FROM t1 USING t1,t2 WHERE t1.id=t2.id 


    2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉

    DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 



    DELETE  FROM t1,USING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 


    3、从两个表中找出相同记录的数据并把两个表中的数据都删除掉

    DELETE t1,t2 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25 

    注意此处的delete t1,t2 from 中的t1,t2不能是别名

    如:

    delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 

    在数据里面执行是错误的(MYSQL 版本不小于5.0在5.0中是可以的)

    上述语句改写成

    delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 

    在数据里面执行是错误的(MYSQL 版本小于5.0在5.0中是可以的)

    附:上述语句运行的环境 MYSQL 4.0.2以上
    --------------------------------------------------------------------

    联表删除:

    1、从数据表t1 中把那些id值在数据表t2 里有匹配的记录全删除掉

    DELETE t1 FROM t1,t2 WHERE t1.id=t2.id    或DELETE  FROM t1 USING t1,t2 WHERE t1.id=t2.id

    2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉

    DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 或

    DELETE  FROM t1,USING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL

    3、从两个表中找出相同记录的数据并把两个表中的数据都删除掉

    DELETE t1,t2 from t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25

    注意此处的delete t1,t2 from 中的t1,t2不能是别名

    如:delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本不小于5.0在5.0中是可以的)

    上述语句改写成

    delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本小于5.0在5.0中是可以的)

    http://database.51cto.com/art/201010/229934.htm

  • 相关阅读:
    Cisco产品采用的网络协议总结 java程序员
    实用级反主动防御rootkit设计思路 java程序员
    教你几招识别和防御Web网页木马 java程序员
    “TRUNK”的三个意思 不要混淆 java程序员
    Windows 图像捕获服务本地权限提升漏洞 java程序员
    入侵检测之蜜罐 java程序员
    小措施防范来自网络的ARP攻击 java程序员
    poj2299UltraQuickSort
    按位与或非
    hdu4325(线段树)
  • 原文地址:https://www.cnblogs.com/findumars/p/4989353.html
Copyright © 2020-2023  润新知