从表a中选择a中的值是否在表b mysql上

时间:2012-10-04 12:06:08

标签: mysql select join

表a:

field1 field2
x1     x1

表b:

field 1
x1

如何在表b中选择field1 =表a的字段1?

如果表b的名称是表a的field1,那么执行连接的语法是什么,因为所选表是a.field1

这是我正在使用的实际查询:

mysql_query("SELECT * FROM tags WHERE id3='$value' AND flag!='w' AND visibility='t' JOIN tags.albumid WHERE photoid=tags.photoid AND visibility!='d' ORDER BY datetimep DESC LIMIT 200");

6 个答案:

答案 0 :(得分:2)

根据您的任务的复杂程度,您可以简单地连接具有相同值的行:

Select * from a, b where a.field1 = b.field2

或使用联接:

select a.* 
from Tableb b
join Tablea a
on a.field1=b.field1

在第一种情况下,如果要避免多行包含相同数据,则可能需要使用Distinct关键字再次过滤

对于连接,有不同的类型。见eggyal的链接。

答案 1 :(得分:0)

了解SQL joins

SELECT * FROM tablea JOIN tableb USING (field1)

答案 2 :(得分:0)

select a.* 
from Tableb b
join Tablea a
on a.field1=b.field1

答案 3 :(得分:0)

假设要加入的字段名在两个表中都相同:

SELECT fieldx, fieldy FROM table_1 NATURAL JOIN table_b

如果要加入的字段名不相同 - 或者您希望显式,因为您可能有其他具有相同名称的字段名 - 您必须通过JOIN .. ONJOIN .. USING指令指定这些字段名。 / p>

答案 4 :(得分:0)

select a.field1, a.field2 from table a, table b
where a.field1=b.field1;

答案 5 :(得分:0)

select * from table_a join table_b
USING (field1)

请参阅: MySql Join