mysql - SQL:从联合表中删除计数条件
问题描述
我有这些表:
导师:
email firstname, lastname...
课程:
url tutorid description
评论:
review courseid author
author
inreviews
和tutorid
incourses
是外键 =utors.email。
我需要删除所有有 2 门或更多课程但没有描述的导师。
我首先尝试只选择这样的导师:
select tutors.email, COUNT(courses.url)
from courses
left join tutors on courses.tutorid = tutors.email
where
description is null group by (tutors.email);
这很好用。但是我不确定如何使用给定的电子邮件删除导师,考虑到utors.email 是其他表中的外键。
解决方案
如果您不删除包含外键的相关表中的记录,您最终将创建称为孤立记录的东西,这通常违反 RDBMS 中的引用完整性规则。RDBMS 也可能会强制执行参照完整性,在您首先删除其他表中的所有关联记录之前,您将无法执行此操作。
推荐阅读
- sql-server - 如何确定别名临时表与持久表上的 SQL Server 依赖项之间的差异
- sql - How to run the subquery with the non equality clause on Spark?
- r - 如何将 netCDF 文件批量导入 R 并创建 RasterStack
- python - Add opposite number of values in each key of nested dictionary
- php - dns_get_mx, dns_get_record and checkdnsrr don't work with MX (work with A though)
- javascript - React jQuery(this) selector is not working
- excel - 将 Excel VLOOKUP 设置为动态外部文件
- python - Tensorflow should I separate object sides?
- graphql - 使用@client、@export 指令和@skip 之一
- javascript - 用户登录后显示主页的ReactJs问题