一个数据库中有两个表,如何删除1表中与2表相同的数据

一个数据库中有两个表,如何删除1表中与2表相同的数据,第1张

数据库中删除两张表相同的数据要根据id相同来删除。

解决办法:

1、在设计数据库表时,通过设置级联删除 *** 作来完成。

2、可以写触发器完成 *** 作。

3、先删除主表的数据行,然后根据关联的外键值来删除附表中的相应行数据即可。

具体方法:

作为外键暂且叫它主表,Delete from Main Where id=@id

则要先删除子表当中 Delete from Detail where MainId = @id

为了保证数据完整性,最好将上面的 *** 作包含在一个事务中,如果两个语句影响的行数都大于零,则提交,否则回滚。

1、商品表中得id不设为主键的话,是不能设为交易明细表外键的

2、不设主键也可以,就是不能设为交易明细表的外键,但是要确保商品表的id不能重复,否则2个表一关联查询的话会出现笛卡尔积

3、select * from 商品表,交易明细表

where 商品表.id=交易明细表.id

确保商品表id是唯一的就行

1>select 学号,姓名,性别 from XS where 姓名 like '王%'

2>select top 5 学号,姓名,总成绩 from XS,CJ where 学生表.学号=成绩表.学号 and 学号 is not(select 学号 from 成绩表 where 成绩<75) group by 成绩表.学号 having count(*)

二题的另一种写法:

select top 5 学号,姓名,总成绩 from XS inner join CJ on 学生表.学号=成绩表.学号 where 学号 is not(select 学号 from 成绩表 where 成绩<75) group by 成绩表.学号 having count(*)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10827906.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存