mysql - SQL 自然连接和 use 子句

标签 mysql sql join natural-join

所以我有 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;

最佳答案

自然连接使用公共(public)列名连接两个表,并使用 using 子句。其他连接使用 on 子句。

试试这个:

SELECT table1.data2
FROM table1 LEFT JOIN
     table2 
     on table1.nlm = table2.`#nlm`
WHERE table2.pid = 3;

关于mysql - SQL 自然连接和 use 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16721748/

相关文章:

php - Wordpress 安装 - php 和 mysql 没有互相交谈来访问数据库?

php - 防止 Web 应用程序中的同时事务

php - MySQL中如何将数据从一张表迁移到另一张表

mysql - 您的 SQL 语法有问题但不知道原因

php - MySQL 几个内部连接与子查询

mysql - 连接sql语句

php - codeigniter 中的多列 where_in 子句

mysql - 有没有一种方法可以使用一列进行分组,但对于给定的组来说它可以等于一组值?

mysql - 如何计算派生表中的行数?

postgresql - 这是 JOIN、Lookup 还是如何只选择与两个表中的列匹配的记录