Access SQL查询问题:无法筛选名称以Management结尾的课程
解决SQL查询无法筛选管理类课程的问题
你的查询语句没法筛选出以Management结尾的课程,核心问题是LIKE子句的通配符用错了——SQL里LIKE要用%作为任意字符通配符,而不是*,*不是SQL的标准通配符。
另外,推荐用显式的JOIN语法代替旧的逗号连接,逻辑更清晰,也不容易出错。
修正后的查询语句
SELECT E.Last, E.First, C.ClassName, C.Date FROM EMPLOYEES AS E JOIN EMPLOYEE_TRAINING AS ET ON E.EmployeeID = ET.EmployeeID JOIN CLASSES AS C ON C.ClassID = ET.ClassID WHERE C.ClassName LIKE '%Management' ORDER BY E.Last ASC;
要点说明
%Management:%代表任意长度的任意字符(包括空字符),放在Management前面就能匹配所有以它结尾的课程名称- 显式JOIN:把表之间的连接条件从
WHERE里抽出来单独写,查询结构一目了然,能避免不小心写出笛卡尔积的错误
内容的提问来源于stack exchange,提问作者Al Pri
相关产品推荐
相关产品推荐

