sql语句删除元组

person(driver_id(PK),name,address)car(license(PK),model,year)accident(report_number(P... person(driver_id(PK),name,address)
car(license(PK),model,year)
accident(report_number(PK),date,location)
owns(driver_id(PK),license(pk))
participated(report_number(PK),license(PK),driver_id,damage_amount)

在创建了数据表之后要删除“Mazda belonging to John Smith”
我的理解就是删除car和owns的相关元组...
问题就是我写的sql语句,如果是delete from car,owns它会报错...就报在逗号上...
如果分步的话,第一步把一个表中的元组删了,第二步就找不出另一个表中的元组了...Orz...
求删除的方法...
展开
 我来答
wjinbd
推荐于2018-04-13 · TA获得超过8686个赞
知道大有可为答主
回答量:1536
采纳率:100%
帮助的人:2018万
展开全部
删除“Mazda belonging to John Smith”
我理解就是删除 smith的mazda 而不是删除smith

使用这样的语句
delete from car where license=(select owns.license from owns inner join person on owns.driver_id=person.driver_id where person.[name]='John Smith') and model=‘mazda’
这样就删除了 属于john smith的 mazida 车
当然如果你还想删除 john的话 剩下的条件也足够啊
摆渡浮桥
2010-11-12 · TA获得超过3629个赞
知道大有可为答主
回答量:1610
采纳率:100%
帮助的人:2222万
展开全部
不能一个语句同时删除两个表中的记录。
我觉得题意应该是删除属于John Smith的马自达,语句如下:
delete from car where model = 'Mazda' and license in (select owns.license from owns where owns, person where owns.driver_id = person.driver_id and person.name = 'John Smith')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式