gpt4 book ai didi

mysql - 尝试打印部门中博士生的部门名称,除了那些选修大学几何的专业

转载 作者:行者123 更新时间:2023-11-29 12:31:36 24 4
gpt4 key购买 nike

需要帮助了解我可以使用什么语法来找出没有参加大学几何类(class)的专业的部门。

这是原来的问题:对于那些没有开设大学几何类(class)的专业的院系,打印部门名称和该部门的博士生人数。

我已经得出了显示所有系和系中博士生的结果,但无法弄清楚使用什么语法来找出没有参加大学几何类(class)的专业的系。我使用了 EXCEPT、NOT IN 和 LEFT JOIN,但没有得到我想要的东西。任何建议..

这是我的表格:

Student(sid,sname,sex,age,year,qpa)
Dept(dname,numphds)
Prof (pname,dname)
Course (cno,cname,dname)
Major(dname,sid)
Section(dname,cno,sectno,pname)
Enroll(sid,grade,dname,cno,sectno)

这是我的部门表的样子:

CREATE TABLE dept (
dname VARCHAR(100),
numphds INT
);

INSERT INTO dept VALUES ( 'Chemical Engineering', 32 );
INSERT INTO dept VALUES ( 'Civil Engineering', 88 );
INSERT INTO dept VALUES ( 'Computer Sciences', 47 );
INSERT INTO dept VALUES ( 'Industrial Engineering', 41 );
INSERT INTO dept VALUES ( 'Mathematics', 129 );
INSERT INTO dept VALUES ( 'Sanitary Engineering', 3 );

这是我的类(class)表的样子,它是唯一显示“大学几何”的表。

CREATE TABLE course (
cno INT,
cname VARCHAR(100),
dname VARCHAR(100)
);

INSERT INTO course VALUES ( 302, 'Intro to Programming', 'Computer Sciences' );
INSERT INTO course VALUES ( 310, 'Thermodynamics', 'Chemical Engineering' );
INSERT INTO course VALUES ( 310, 'Intro to Garbage', 'Sanitary Engineering' );
INSERT INTO course VALUES ( 365, 'City Planning', 'Civil Engineering' );
INSERT INTO course VALUES ( 375, 'Highway Engineering', 'Civil Engineering' );
INSERT INTO course VALUES ( 461, 'College Geometry 1', 'Mathematics' );
INSERT INTO course VALUES ( 462, 'College Geometry 2', 'Mathematics' );

这是我的代码:

SELECT dept.dname, dept.numphds 
FROM dept
LEFT JOIN course on course.dname = dept.dname LIKE 'College Geometry'
GROUP BY dept.dname, dept.numphds

最佳答案

添加 where 子句并检查 course 列上的 NULL 条件

SELECT dept.dname, dept.numphds 
FROM dept
LEFT JOIN course on course.dname = dept.dname
and course.cname LIKE '%College Geometry%'
where course.dname is NULL

您可以使用 not contains 子句执行相同的操作

SELECT dept.dname, dept.numphds 
FROM dept
WHERE NOT EXISTS
( select 1 from course
where course.dname = dept.dname
and course.cname LIKE '%College Geometry%'
)

关于mysql - 尝试打印部门中博士生的部门名称,除了那些选修大学几何的专业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27409090/

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