如何在一个列上连接两个表,这两个表在两个表中具有相同的名称?

时间:2009-03-12 12:06:34

标签: sql

见上文......

4 个答案:

答案 0 :(得分:8)

使用别名表名是最短的。

SELECT a.*, b.*
FROM table1 as 'a'
  INNER JOIN table2 as 'b'
    ON a.col1 = b.col1

您还可以指定完整的表名。

SELECT table1.*, table2.*
FROM table1
  INNER JOIN table2 
    ON table1.col1 = table2.col1

答案 1 :(得分:5)

您所询问的内容在关系术语中称为NATURAL JOIN。某些数据库服务器支持此子句。我宁愿手动指定连接表达式,即使提供程序支持如下的子句:

SELECT .... FROM Table1 JOIN Table2 ON Table1.JoinCol = Table2.JoinCol ...

答案 2 :(得分:4)

select  *
from    Table1
        inner join
        Table2
        on Table1.ColumnName = Table2.ColumnName

简单。

答案 3 :(得分:0)

为了完整性(取决于您的DBMS),您可以使用“USING”:

SELECT
    ...
FROM
    table_a
INNER JOIN
    table_b
USING
    (common_column);