所以我有2个包含以下数据的表
*where a star is a primary key.
*and a # is a unique key.
表1
╔══════╦═══════╦════════╗
║ #nlm ║ data2 ║ *data3 ║
╚══════╩═══════╩════════╝
表2
╔══════╦═════╗
║ *pid ║ nlm ║
╚══════╩═════╝
目标是在我知道pid时获取data2。我已经尝试过了,并且失败了。
SELECT data2 FROM table1 LEFT JOIN table2 USING nlm WHERE pid = 3;
答案 0 :(得分:0)
自然连接使用公共列名连接两个表,并使用using
子句。其他联接使用on
子句。
试试这个:
SELECT table1.data2
FROM table1 LEFT JOIN
table2
on table1.nlm = table2.`#nlm`
WHERE table2.pid = 3;
答案 1 :(得分:0)
USING
子句要求列名在括号中:
SELECT data2 FROM table1
INNER JOIN table2 USING (nlm)
WHERE pid = 3
这也应该是一个内部联接,因为WHERE
子句要求它在table2
中找到一行。