gpt4 book ai didi

MySQL:列出在 99F 学期教授 CS160 部分和 CS340 部分的教师(姓名)

转载 作者:行者123 更新时间:2023-11-29 14:58:01 26 4
gpt4 key购买 nike

架构如下:

Student(Snum, Sname)
Course(Cnum, Cname)
Professor(Pnum,Pname, Dept, Office)
Class(Cnum, Term, Section, Instructor)

我如何加入下面的两个选择以获得同时教授 CS160 和 CS340 的讲师?

SELECT DISTINCT Instructor FROM class
WHERE Term = "99F" AND Cnum = "CS160"
SELECT DISTINCT Instructor FROM class
WHERE Term = "99F" AND Cnum = "CS340"

谢谢!

最佳答案

由于MySql没有intersect,所以你必须进行自连接;像这样:

SELECT DISTINCT a.Instructor FROM class a inner join class b
using (Instructor,Term)
where a.Term "99F" and a.Cnum = "CS160" and b.Cnum = "CS340"
<小时/>

编辑:使用 intersect,只需将 intersect 说明符放在示例中的两个查询之间(并且可以省略“distinct”;“intersect”仅返回不同的值):

SELECT Instructor FROM class
WHERE Term = "99F" AND Cnum = "CS160"
INTERSECT
SELECT Instructor FROM class
WHERE Term = "99F" AND Cnum = "CS340"

intersect 是 SQL 标准的一部分,但 MySql 没有实现它。确实具有相交的 SQL 实现包括 Oracle 和 Postgres。

另请参阅mySQL versus Standard SQL

关于MySQL:列出在 99F 学期教授 CS160 部分和 CS340 部分的教师(姓名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4039706/

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