如何在不重复 mysql 中的列的情况下连接表
how to join tables without repeating column in mysql
我有两个表:
table1 (限制 5):
+--------------+
| TF_ID |
+--------------+
| T139297_1.02 |
| T025433_1.02 |
| T025429_1.02 |
| T045327_1.02 |
| T088966_1.02 |
+--------------+
table2(限制 5):
+--------------+-----------+------------+-------------+
| TF_ID | Family_ID | TSource_ID | DBID |
| T000001_1.02 | F001_1.02 | TS19_1.02 | FBgn0085089 |
| T000002_1.02 | F002_1.02 | TS07_1.02 | AMAG_03406 |
| T000003_1.02 | F002_1.02 | TS07_1.02 | AMAG_05299 |
| T000004_1.02 | F002_1.02 | TS07_1.02 | AMAG_10904 |
| T000005_1.02 | F002_1.02 | TS07_1.02 | AMAG_15258 |
+--------------+-----------+------------+-------------+
我想通过 TF_ID 列连接两个表,我试过这个:
select a.TF_ID, b.TF_ID, b.Family_ID from table1 a, table2 b where a.TF_ID=b.TF_ID;
输出如下:
+--------------+--------------+-----------+
| TF_ID | TF_ID | Family_ID |
+--------------+--------------+-----------+
| T014411_1.02 | T014411_1.02 | F070_1.02 |
| T014431_1.02 | T014431_1.02 | F070_1.02 |
| T014439_1.02 | T014439_1.02 | F070_1.02 |
| T014447_1.02 | T014447_1.02 | F070_1.02 |
| T014450_1.02 | T014450_1.02 | F070_1.02 |
TF_ID 列不重复怎么办?
我是数据库新手,请帮忙
只需select一次;您不必 select 两次。示例:
SELECT a.TF_ID, b.Family_ID
FROM table1 a, table2 b
WHERE a.TF_ID=b.TF_ID;
更好的是,使用USING
:
SELECT a.TF_ID, b.Family_ID
FROM table1 a
LEFT JOIN table2 b USING (TF_ID);
select a.TF_ID, b.Family_ID, b.TSource_ID,b.DBID
从表 1
在 a.TF_ID=b.TF_ID;
上左连接表 2 b
我有两个表:
table1 (限制 5):
+--------------+
| TF_ID |
+--------------+
| T139297_1.02 |
| T025433_1.02 |
| T025429_1.02 |
| T045327_1.02 |
| T088966_1.02 |
+--------------+
table2(限制 5):
+--------------+-----------+------------+-------------+
| TF_ID | Family_ID | TSource_ID | DBID |
| T000001_1.02 | F001_1.02 | TS19_1.02 | FBgn0085089 |
| T000002_1.02 | F002_1.02 | TS07_1.02 | AMAG_03406 |
| T000003_1.02 | F002_1.02 | TS07_1.02 | AMAG_05299 |
| T000004_1.02 | F002_1.02 | TS07_1.02 | AMAG_10904 |
| T000005_1.02 | F002_1.02 | TS07_1.02 | AMAG_15258 |
+--------------+-----------+------------+-------------+
我想通过 TF_ID 列连接两个表,我试过这个:
select a.TF_ID, b.TF_ID, b.Family_ID from table1 a, table2 b where a.TF_ID=b.TF_ID;
输出如下:
+--------------+--------------+-----------+
| TF_ID | TF_ID | Family_ID |
+--------------+--------------+-----------+
| T014411_1.02 | T014411_1.02 | F070_1.02 |
| T014431_1.02 | T014431_1.02 | F070_1.02 |
| T014439_1.02 | T014439_1.02 | F070_1.02 |
| T014447_1.02 | T014447_1.02 | F070_1.02 |
| T014450_1.02 | T014450_1.02 | F070_1.02 |
TF_ID 列不重复怎么办? 我是数据库新手,请帮忙
只需select一次;您不必 select 两次。示例:
SELECT a.TF_ID, b.Family_ID
FROM table1 a, table2 b
WHERE a.TF_ID=b.TF_ID;
更好的是,使用USING
:
SELECT a.TF_ID, b.Family_ID
FROM table1 a
LEFT JOIN table2 b USING (TF_ID);
select a.TF_ID, b.Family_ID, b.TSource_ID,b.DBID 从表 1 在 a.TF_ID=b.TF_ID;
上左连接表 2 b