You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL子查询问题:如何筛选温尼伯/伦敦的员工访客数据且禁用JOIN/AND

解决方案

你可以通过前置过滤城市表的方式实现需求,不需要用到JOIN或AND运算符,修改后的完整代码如下:

SELECT "Employee"        AS PersonType,
       EmployeeFirstName AS FirstName,
       EmployeeLastName  AS LastName,
       CityName
  FROM employee, (SELECT * FROM cities WHERE CityName IN ('London','Winnipeg')) AS filtered_cities
 WHERE CityName IN (SELECT CityName WHERE employee.CityID = filtered_cities.CityID)
UNION
SELECT "Guest"        AS PersonType,
       GuestFirstName AS FirstName,
       GuestLastName  AS LastName,
       CityName
  FROM guest, (SELECT * FROM cities WHERE CityName IN ('London','Winnipeg')) AS filtered_cities
 WHERE CityName IN (SELECT CityName WHERE guest.CityID = filtered_cities.CityID);

修改逻辑说明

  • 将原代码中用到的全量cities表,替换为仅包含London、Winnipeg两个城市记录的临时过滤表,原有CityID匹配逻辑完全不需要改动
  • 全程未使用JOIN关键字,也未用到AND运算符,完全符合作业限制要求
  • 过滤逻辑前置,执行效率高于结果集返回后再统一过滤

内容的提问来源于stack exchange,提问作者Mihael Dopudj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 18:18:03