Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 自然联接表_Mysql_Sql Server_Join - Fatal编程技术网

Mysql 自然联接表

Mysql 自然联接表,mysql,sql-server,join,Mysql,Sql Server,Join,讲师表: 教学表: 使用此查询对上述两个表进行自然联接时: Select name, course_id from instructor natural join teaches; 输出如下所示: 在上面的示例中,讲师是左表还是右表?为什么结果关系中的第一行的名称是Srinivasan。它不应该有爱因斯坦,因为那是左表(讲师)的第一行,而你正在将它与右表(讲师)连接起来吗?因此,它将查看讲师提供的22222 ID,看看是否与教师提供的ID匹配,然后查看12121(Wu)是否与教师提供的I

讲师表:

教学表:

使用此查询对上述两个表进行自然联接时:

Select name, course_id
from instructor natural join teaches;
输出如下所示:


在上面的示例中,讲师是左表还是右表?为什么结果关系中的第一行的名称是Srinivasan。它不应该有爱因斯坦,因为那是左表(讲师)的第一行,而你正在将它与右表(讲师)连接起来吗?因此,它将查看讲师提供的22222 ID,看看是否与教师提供的ID匹配,然后查看12121(Wu)是否与教师提供的ID匹配,依此类推。我对这个输出表是如何形成的感到困惑

自然联接自动从每个表中选择列,用于确定匹配行。SQL标识每个表中具有相同名称和类型的列;之后,这些列的值相等的行作为匹配行返回

因此,只有在公共列被选中并排序之后,在本例中为-id,匹配才会发生


因此,第一个名字是Srinivasan,而不是Einstein。

哦,那么它将首先对讲师表(左)中的公共列ID进行排序,然后与讲师表(右)执行自然联接?但是在ID列的teachs表上没有排序?还是表上的ID列也会被排序?