我已经阅读了大量关于 MySQL 连接的教程和图形表示,但它们对我来说仍然没有意义。
我现在正在尝试自己输入,它们正在工作,但我只是不知道它们是如何工作的。
拿这组桌子
images squares
---------------------------- ----------------------------------
image_id | name | square_id square_id | latitude | longitude
---------------------------- ----------------------------------
1 someImg 14 1 42.333 24.232
2 newImg 3 2 38.322 49.2320
3 blandImg 76 3 11.2345 99.4323
... ...
n n
这是一对多的关系——一个正方形可以有很多图像,但一个图像只能有一个正方形。
现在我运行这个简单的连接,但我根本不理解它的语法......
SELECT images.image_id
FROM squares
LEFT JOIN images ON images.square_id=squares.square_id
WHERE images.square_id=711464;
现在,这确实有效,这让我感到惊讶。它会显示方形范围内的图像列表。
但是我很难理解ON
语法。
具体做什么
ON
?它是否显示了这两个表是如何相关的?
然而,主要是,SELECT images.image_id FROM squares
最没有意义。
如何在一个表中选择一个字段,而在另一个表中选择一个字段FROM
?