sql:不分大小写查找包含短语的行

bvuwiixz  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(336)

这是我正在使用的数据库:https://drive.google.com/file/d/1arjekoqpal0jfir1h3nxycfvngncnuxg/view?usp=sharing
按部门名称的字母顺序列出cs部门的部门和总人数。cs部门是部门名称包含短语“计算机。。。“科学”或“计算…科学”的大写或小写字母。必须使用自然连接运算符。
我对这个问题的尝试是:

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;
nkkqxpd9

nkkqxpd91#

这个 LIKE mysql中的运算符已经不区分大小写,因此以下操作应该可以使用:

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;

相关问题