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

如何在MySQL关联查询中筛选地址非空且指定位置的有效记录

修改后的查询语句

SELECT table1.id, table1.name,
table2.location, table2.address
FROM table1
INNER JOIN table2 ON table1.id=table2.id
WHERE table2.location = 'London' 
  AND table2.address IS NOT NULL;

逻辑说明

  • 新增的WHERE子句会在两表关联完成后对结果集进行过滤,只有同时满足两个条件的记录才会被返回
  • table2.location = 'London':仅保留location字段值为London的记录,若你的数据库开启了字符串大小写敏感校验,需保证引号内的内容和实际存储的文本大小写完全匹配
  • table2.address IS NOT NULL:过滤掉所有address字段为空值的记录,注意SQL中不能用= NULL或!= NULL判断空值,必须使用IS NULL/IS NOT NULL语法

补充说明:对于INNER JOIN来说,你也可以把这两个过滤条件写在ON子句中,最终返回的结果和写在WHERE子句中完全一致,两种写法都符合SQL规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:39:02