重写后的标题为:适用于数据清理的MySQL查询语句
<p>我有三个表。一个表是旅行距离表</p>
<pre class="brush:php;toolbar:false;">create table routes
(
slat int,
slng int,
dlat int,
dlng int,
distance int
);</pre>
<p>一个表是站点表</p>
<pre class="brush:php;toolbar:false;">create table sites
(
id int,
name varchar(100),
lat int,
lng int
);</pre>
<p>还有一个表是技术人员表</p>
<pre class="brush:php;toolbar:false;">create table fse
(
id int,
name varchar(100),
lat int,
lng int
);</pre>
<p>旅行距离表是通过Google API请求动态填充的。因此,如果有新的站点或新的技术人员,所有新的旅行距离都会通过Google请求并存储到路线表中。</p>
<p>当然,也可能发生客户或技术人员离开的情况。在这种情况下,即使不再使用,距离表中的条目仍然保留在数据库中。</p>
<p>我想要删除表中这些未使用的行。因此,我正在寻找一种查询方式,可以删除站点/技术人员表中所有“不存在”的纬度/经度组合,就像在此fiddle的评论中所写的那样</p>
<p>https://www.db-fiddle.com/f/mwF1iyZ7nn8rnDcE8Wstch/0</p>
<p>我可以自己编写此查询,但我唯一的解决方案是使用非常多的子查询。但我想知道是否有更高效的方法,希望这里的SQL专家能够帮助一下?</p>