gpt4 book ai didi

mysql - 使用原始 SQL 查询从数据库中获取满足我需求的所有记录

转载 作者:行者123 更新时间:2023-11-29 15:38:22 24 4
gpt4 key购买 nike

我在 MySQL 数据库中有 courses 表和 teachers 表。

我想找到所有尚未分配给今年招聘的年龄在 30 岁以下的教师的新类(class)。

  • 关系是每门类(class)都有很多老师。因此,在 teachers 表中,有 course_id

  • teachers 表有一个 year 列,用于指示teacher 的招聘年份和age > 栏目。

我尝试过的SQL:

SELECT courses.* from courses
INNER JOIN teachers t ON t.course_id = courses.id
WHERE t.year = '2019' AND t.age<30

这实际上给出了今年招聘的年龄小于30岁的教师分配的所有类(class),这与我需要的相反。

我想通过与以下查询结合来过滤以上内容:

SELECT COUNT(*) from teachers WHERE year=2019 that returns zero.

我不知道该怎么做。有人可以帮我吗?

最佳答案

完成 Zaynul 的回答:

select courses.* 
from courses
left join teachers t on t.course_id = courses.id and t.year = '2019' and t.age<30
where t.course_id is null

参见SQLFiddle

进一步说明数据结构,年份应该是一个整数,并且类(class)与教师的关系应该在它自己的表中,否则教师只能教授一门类(class)。

关于mysql - 使用原始 SQL 查询从数据库中获取满足我需求的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57971310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com