Moh*_*ar 18 sql sql-server inner-join
我把内部联接放在我的查询中.我得到了结果,但不知道数据是如何输出的.任何人都告诉我内部联接如何匹配数据.我正在显示图像.有两张桌子(一张或两张桌子).

据我说第一排它应该是Mohit,但输出是不同的.请告诉我.
提前致谢.
Qua*_*noi 11
在SQL,除非在ORDER BY子句中指定输出,否则不会定义输出的顺序.
试试这个:
SELECT *
FROM one
JOIN two
ON one.one_name = two.one_name
ORDER BY
one.id
Run Code Online (Sandbox Code Playgroud)
避免SELECT *在主查询中.
避免重复列:JOIN条件确保One.One_Name并且two.One_Name将相等,因此您不需要在SELECT子句中返回两者.
避免重复的列名:重命名One.ID和Two.ID使用'别名'.
使用ORDER BY子句中的列名('alises',如果适用)添加SELECT子句.
建议重写:
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;
Run Code Online (Sandbox Code Playgroud)
如果希望数据以某种方式返回,则必须对其进行排序。当您说希望“ Mohit”成为第一行时,我假设您说的是因为“ Mohit”是[One]表中的第一行。但是,当SQL Server联接表时,它不一定按照您认为的顺序联接。
如果要从[One]中返回第一行,请尝试按排序[One].[ID]。或者,您可以选择order by其他任何列。
| 归档时间: |
|
| 查看次数: |
96457 次 |
| 最近记录: |