我有一个运行良好的查询,但我想看看我是否可以稍微清理一下我的结果.
该查询从我调用的表中提取State和Fiber ID字段fiber_intake.然后它从我的hvi表中拉出Fiber_intake表中Fiber ID = GA的所有字段.
码:
SELECT `fiber_intake`.`State`, `fiber_intake`.`Fiber ID`, `hvi`.*
FROM `fiber_intake`
LEFT JOIN `hvi` ON `fiber_intake`.`Fiber ID` = `hvi`.`Fiber ID`
WHERE (`fiber_intake`.`State` = 'GA')
Run Code Online (Sandbox Code Playgroud)
它工作得很好,除了它可以提取所有GA光纤ID,甚至是其他表中没有hvi数据的那个.所以我得到一些结果与hvi数据的一堆Nulls.
有没有办法排除没有与之关联的hvi表数据的光纤ID?
谢谢!
使用INNER JOIN而不是a LEFT [OUTER] JOIN.
这个行的后面添加是一个完整的目的OUTER JOIN.
SELECT `fiber_intake`.`State`, `fiber_intake`.`Fiber ID`, `hvi`.*
FROM `fiber_intake`
INNER JOIN `hvi` ON `fiber_intake`.`Fiber ID` = `hvi`.`Fiber ID`
WHERE (`fiber_intake`.`State` = 'GA')
Run Code Online (Sandbox Code Playgroud)