从两个表中选择数据

时间:2015-10-06 17:02:03

标签: mysql sql

我有两张桌子A和B

      A                             B

id  name  age               id     registered
--- ----- ----              ---    -----------
1   abc   19                 2         yes     
2   xyz   20
3   qwe   34
4   asdf  43

我想从表A中选择已注册的所有字段。即选择数据2 xyz 20 yes

如何使用mysql进行操作?

2 个答案:

答案 0 :(得分:2)

如果您想要所有表A和B中的值我认为您正在寻找:

select * from TableA left join TableB on TableA.ID=TableB.ID

如果你想要那些只有表B中的记录的人使用:

select * from TableA inner join TableB on TableA.ID=TableB.ID

答案 1 :(得分:1)

你需要一个加入:

SELECT A.id, A.name, A.age
FROM
  A INNER JOIN B
  ON A.id = B.id
WHERE
  B.registered='yes'

或IN子句:

SELECT A.id, A.name, A.age
FROM A
WHERE
  A.id IN (SELECT id FROM b WHERE registered='yes')