2010-03-27 153 views
3

我有一个名字存储在一个表中,姓氏存储在另一个表中。我知道这很愚蠢,但我正在尝试不同的事情,因为我刚开始使用MySQL。无论如何,有可能在一个查询中选择一个表中的名字和另一个名字中的另一个名字?并把结果放在一个PHP变量中?如何从一个MySQL查询中的两个不同表中选择记录?

回答

5

您必须拥有将两个表格绑定在一起的东西,这是常见的key。喜欢的东西Id在下面的例子:

Table 1 

Id Fname 
-------- 
1 Roger 
2 Pete 

Table 2 

Id Lname 
-------- 
1 Federer 
2 Sampras 

在这种情况下,你可以得到全名:

SELECT Fname, Lname from T1,T2 where T1.Id = T2.Id; 
+1

+1的答案。这就是数据库术语中所谓的“外键”。一个跨表连接记录的关键值。 – Faisal 2010-03-27 15:03:21

+2

使用JOIN子句的显式连接通常优于使用WHERE子句的隐式连接,因为您将连接条件与筛选条件分开,这通常会导致更具可读性的SQL。 – 2010-03-27 15:09:38

+0

+1为我的最爱运动:D – nawfal 2012-01-12 20:51:56

0

使用joins

SELECT firstName, lastName 
FROM Table1, Table2 
WHERE (Table1.id = Table2.id) 
0
select table1.firstname, table2.lastname from table1, table2 
    where table1.id = table2.id 

here了解更多信息。

充分加入

如果从用逗号分隔的名字子句,MySQL会执行完整的SELECT语句名称的多个表的连接。

相关问题