Hy,我有一张这样的桌子:
Table colors :
----------------------------
| colorsid code name |
----------------------------
| 1 aaa yellow|
| 2 bbb red |
| 3 ccc green |
----------------------------
Table pictures :
---------------------------
| picid file typeid |
---------------------------
| 5 ooo.png 1 |
| 6 ccc.jpg 2 |
---------------------------
结果应该是这样的:
------------------------------------------------------
| colorsid code name picid file typeid|
------------------------------------------------------
| 1 aaa yellow 5 ooo.png 1 |
| 2 bbb red 6 ccc.png 2 |
| 3 ccc green |
------------------------------------------------------
我尝试使用sql join(left,right,cross,inner)但结果总是显示2条记录。谁能帮我 ?
答案 0 :(得分:1)
SELECT *
FROM colors
LEFT JOIN pictures ON
colors.id = pictures.typeid
答案 1 :(得分:0)
澄清以上内容:
JOIN
本身就是*INNER* JOIN
的同义词。结果只包含匹配的行。只返回两个表中具有值的行。
然而,有两种*OUTER* JOIN
:LEFT
和RIGHT
。
在这种情况下,{{1> LEFT
侧的表格或RIGHT
侧的表格中的{em>所有行{{1> }})将包含在结果集中。如果该表中存在匹配的行,则来自另一侧表的值将包含在中;否则,这些列中的值将为JOIN
。
这似乎完全你在这里寻找的东西......