SQL JOIN,还是两个选择?

时间:2012-09-17 21:43:08

标签: mysql sql select join

我正在使用MYSQL数据库。

我有以下内容:

tbl1

ID(p) | FID(p)
1     7
2     7
2     8
7     2
3     9

tbl2

DATA(p) | ID(f)
AAA      7
BBB      7
CCC      8

我需要从tbl1(7,8)中选择ID = 2的所有FID 然后我需要选择所有DATA,其中ID =第一个查询的结果(返回AAA,BBB,CCC)

这可以在一个或两个查询中完成吗?如果你能指出我正确的操作员的方向,我可以解决它。

谢谢!

4 个答案:

答案 0 :(得分:4)

SELECT b.DATA 
FROM tbl1 a
LEFT JOIN tbl2 b ON b.ID = a.FID
WHERE a.ID = 2

将返回:

AAA
BBB
CCC

答案 1 :(得分:2)

正确的运营商是JOIN。祝你好运。

答案 2 :(得分:0)

我不太清楚需要加入什么,但是:

SELECT * FROM tbl2 INNER JOIN (SELECT * FROM tbl1 WHERE ID=2) a ON a.FID=tbl2.ID

答案 3 :(得分:0)

您可以使用" INNER JOIN"从多个表中选择多个字段。

SELECT T1.FID, T2.DATA
FROM tbl1 T1 
WHERE T1.ID = 2
INNER JOIN tbl2 T2
ON T1.ID = T2.ID