我把内部连接在我的查询。我已经得到了结果,但不知道数据是如何进入输出。谁能告诉我,如何内部连接匹配的数据。下面我显示了一个图像。有两个表(一个或两个表)。
据我说,第一行应该是Mohit,但输出不同。请告诉我。
jobtbby31#
在SQL中,除非在ORDER BY子句中指定,否则不定义输出顺序。试试这个:
SQL
ORDER BY
SELECT * FROM one JOIN two ON one.one_name = two.one_name ORDER BY one.id
jxct1oxe2#
如果您希望数据以某种方式返回,则必须对其进行排序。当您说希望“Mohit“是第一行时,我假设您是这样说的,因为“Mohit“是[One]表中的第一行。但是,当SQL Server连接表时,它不一定按照您所想的顺序连接。如果要返回[One]中的第一行,请尝试按[One].[ID]排序。或者,可以按order by排序任何其他列。
Mohit
[One]
[One].[ID]
order by
insrf1ej3#
在主查询中避免使用SELECT *。避免重复列:JOIN条件确保One.One_Name和two.One_Name相等,因此不需要在SELECT子句中返回两者。避免重复列名:使用“别名”重命名One.ID和Two.ID。使用SELECT子句中的列名(适用时为“alises”)添加ORDER BY子句。建议重写:
SELECT *
JOIN
One.One_Name
two.One_Name
SELECT
One.ID
Two.ID
SELECT T1.ID AS One_ID, T1.One_Name, T2.ID AS Two_ID, T2.Two_name FROM One AS T1 INNER JOIN two AS T2 ON T1.One_Name = T2.One_Name ORDER BY One_ID;
u0sqgete4#
在第一个查询的末尾添加ORDER BY ONE.ID ASC。默认情况下没有排序。
ORDER BY ONE.ID ASC
rpppsulh5#
默认情况下,SQL不返回任何排序,因为这种方式速度更快。它不必先检查数据,然后再决定要做什么。您需要添加一个orderby子句,并且可能是您期望的任何ID的orderby。(这里有一个重复的名称,因此我假设您想要One.ID)
select * From one inner join two ON one.one_name = two.one_name ORDER BY one.ID
qxsslcnc6#
我发现这是一个问题,当加入,但你可能会发现这个博客有用的了解如何加入工作在后面. How Joins Work..[编辑] @Shree谢谢你指出这一点。在合并连接的段落上。它提到了连接是如何工作的...与散列联接一样,合并联接也包含两个步骤。首先,联接的两个表都按联接属性排序。通过外部合并排序,只需两次遍历每个表即可完成此操作。最后,从每个表中提取下一个排序元素并比较联接属性时,将生成结果元组。
6条答案
按热度按时间jobtbby31#
在
SQL
中,除非在ORDER BY
子句中指定,否则不定义输出顺序。试试这个:
jxct1oxe2#
如果您希望数据以某种方式返回,则必须对其进行排序。当您说希望“
Mohit
“是第一行时,我假设您是这样说的,因为“Mohit
“是[One]
表中的第一行。但是,当SQL Server连接表时,它不一定按照您所想的顺序连接。如果要返回
[One]
中的第一行,请尝试按[One].[ID]
排序。或者,可以按order by
排序任何其他列。insrf1ej3#
在主查询中避免使用
SELECT *
。避免重复列:
JOIN
条件确保One.One_Name
和two.One_Name
相等,因此不需要在SELECT
子句中返回两者。避免重复列名:使用“别名”重命名
One.ID
和Two.ID
。使用
SELECT
子句中的列名(适用时为“alises”)添加ORDER BY
子句。建议重写:
u0sqgete4#
在第一个查询的末尾添加
ORDER BY ONE.ID ASC
。默认情况下没有排序。
rpppsulh5#
默认情况下,SQL不返回任何排序,因为这种方式速度更快。它不必先检查数据,然后再决定要做什么。
您需要添加一个orderby子句,并且可能是您期望的任何ID的orderby。(这里有一个重复的名称,因此我假设您想要One.ID)
qxsslcnc6#
我发现这是一个问题,当加入,但你可能会发现这个博客有用的了解如何加入工作在后面. How Joins Work..
[编辑] @Shree谢谢你指出这一点。在合并连接的段落上。它提到了连接是如何工作的...
与散列联接一样,合并联接也包含两个步骤。首先,联接的两个表都按联接属性排序。通过外部合并排序,只需两次遍历每个表即可完成此操作。最后,从每个表中提取下一个排序元素并比较联接属性时,将生成结果元组
。