我需要使用共享ID连接两个表,但是如果两个表都包含一行,我只想返回一行。我找到了一个带有子查询的解决方案,但是想要避免它们(因为这个查询在页面加载时运行多次)。
一个例子:
`Products`:
Name PicID
------|-------
Test1 | 4
Test2 | 5
`Images`:
PicID Picture
------|--------
4 | BLOB
查询只会返回Test1(带有blob),因为Test2在图片表中没有行。
思考?
最大
答案 0 :(得分:5)
INNER JOIN
用于保证两个表中都存在匹配值。
SELECT p.PicID, p.Name, i.Picture
FROM Products p
INNER JOIN Images i
ON p.PicID = i.PicID
答案 1 :(得分:2)
SELECT P.Name, P.PicID, I.Picture
FROM Products P
INNER JOIN Images I
ON p.PicID = I.PicID
答案 2 :(得分:1)
Select *
FROM Products, Images
WHERE Product.PicID = Images.PicID