-1

这是我正在使用的数据库:https ://drive.google.com/file/d/1ArJekOQpal0JFIr1h3NXYcFVngnCNUxg/view?usp=sharing

按部门名称的字母顺序列出 CS 部门的部门编号和学者总数。CS部门是其部门名称包含大写或小写字母“计算机......科学”或“计算......科学”的部门。您必须使用 NATURAL JOIN 运算符。

我对这个问题的尝试:

SELECT deptnum
FROM academic NATURAL JOIN department
WHERE UPPER(deptname) LIKE ('%computer science%') OR UPPER(deptname) LIKE 
('%computing science%')
ORDER BY deptnum;

它一直没有价值,我不确定我做错了什么。

谢谢

编辑:

感谢大家。这就是我现在正在使用的(虽然效率低下):

SELECT distinct deptnum
FROM academic NATURAL JOIN department
WHERE UPPER(deptname) LIKE ('%COMPUTER%') AND UPPER(deptname) LIKE 
('%SCIENCE%')OR UPPER(deptname) LIKE ('%COMPUTING%') AND UPPER(deptname) 
LIKE ('%SCIENCE%')
ORDER BY deptnum;
4

1 回答 1

0

MySQL 中的LIKE运算符已经不区分大小写,因此以下应该可以工作:

SELECT deptnum
FROM academic
NATURAL JOIN department
WHERE deptname LIKE '%computer%' OR deptname LIKE '%computing science%'
ORDER BY deptnum;

我们可以通过使用来整理一下REGEXP,这也是不区分大小写的:

SELECT deptnum
FROM academic
NATURAL JOIN department
WHERE deptname REGEXP 'computer|computing science'
ORDER BY deptnum;
于 2018-05-15T02:13:46.223 回答