2 qq 25859521 qq_25859521 于 2016.01.27 14:37 提问

sql 两个关联表数据删除的问题
sql

例 表 a 有aid和name 表b 有bid bid数据为aid值 怎么根据name删除b表数据

3个回答

rui888
rui888   Ds   Rxr 2016.01.27 14:43
已采纳

delete t from b t where exists(select 1 from a where aid=t.bid and name ='你的name ')

yizhi_biu
yizhi_biu   2016.01.27 15:29

delete from b where bid=(select aid from a where name='你的name')

chen956
chen956   2016.01.27 16:12

delete from b where b.bid in (select aid from a where a.name = 'name');

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SQL小技巧-关联表重复数据清除处理办法
一、背景描述    数据库有订单表和订单明细表两张表,订单表与订单明细表的关系为一对多,通过订单ID作为外键进行关联,订单表的订单号字段本应设计成唯一约束,但由于数据库约束未在表里体现,并且由于业务操作的一些原因,导致订单表里出现重复的订单号,并且这些订单记录下面都关联了货品,现需要将重复的订单记录删除,同一个订单号只保留一条记录,其余被删除的订单表记录下面的明细记录全部移到保留的那条记录上面。表...
sql语句delete----关联两表删除两表内容
关联两表删除两表内容 delete t1,t2  from t_pic as t1 left join t_pic_muc_comments as t2 on t1.pmcid=t2.pmcid  where t1.pid=1
sql同时删除多个表的数据
DELETE语句中指定多个表,根据多个表中的特定条件,从一个表或多个表中删除行
oracle多表关联更新(update)/删除(delete)数据表的的写法
1) 两表(多表)关联update -- 仅在where字句中的连接 SQL 代码 --这次提取的数据都是VIP,且包括新增的,所以顺便更新客户类别 update customers a -- 使用别名 set customer_type='01' --01 为vip,00为普通 where exists (select 1 from tmp_cust_ci
怎么用Trancate清空两个有主外键关联的表?
 TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。TRUNCA
联合删除两张表的数据
大家都知道DELETE后面不能跟多张表,但有时删除数据时要同时维护多张表的数据,这怎么办呢?假设:A,B两张表,它们通过ID进行关联,A表中有名称字段而B表中没有,现根据时间段删除数据SQL:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/
SQL删除多表关联数据的三种方法
1.级联删除  create table a ( id  varchar(20) primary key, password varchar(20) not null ) create table b ( id int identity(1,1)  primary key, name varchar(50) not null, userId varchar(20), fo
删除关联表(完美解决方案)
以下以postgresql数据库为例子,说明如何删除关联的表数据.如果有人删除了一个订单,那么订单项也被删除。(关键:级联)CREATE TABLE orders ( order_id integer PRIMARY KEY, shipping_address text, ...);CREATE TABLE order_items (
MySQL删除关联表的数据
删除班级以及班级下的所有学生 由于grade表和student表之间具有关联关系,参照列被参照的值,是不能被删除的,因此,在删除软件一班时,一定要先删除班级的所有学生,然后,再删除班级在student表中,删除软件一班的所有学生在grade表中,将软件一班删除如果直接删除班级,会报错因此,在两个具有关联关系的表中,删除数据时,一定要先删除从表中的数据,然后,再删除主表中的数据,否则会报错注意,要删
sql中删除多张表的数据
insert a.id into #kkk select a.id from a,b where a.id=b.id delete from a where a.id in(select id from #kkk) delete from b where b.id in(select id from #kkk) ------------------------- 第一句得到两个表里的相同记录并插