ste*_*ino 2 mysql sql sql-server oracle postgresql
在SQL中,当连接两个表时,用户是否保证将生成的元组组合在一起?
例如:在下面的示例中,结果是否会一致地列出,显示所有宠物按其所有者分组?
表所有者
ID OWNER_NAME
1 Alice
2 Bob
3 Carol
4 Dave
Run Code Online (Sandbox Code Playgroud)
表PETS
OWNER_ID PET_NAME
1 Furry
2 Doggy
2 Jonny
1 Ellie
3 Thunder
Run Code Online (Sandbox Code Playgroud)
查询:
SELECT OWNER_NAME, PET_NAME
FROM OWNERS
JOIN PETS ON OWNERS.ID = PETS.OWNER_ID;
Run Code Online (Sandbox Code Playgroud)
结果(?):
OWNER_NAME PET_NAME
Alice Furry
Alice Ellie
Bob Doggy
Bob Jonny
Carol Thunder
Run Code Online (Sandbox Code Playgroud)
要保证结果数据集中行的顺序,您必须使用order by关键字
select
o.owner_name, p.pet_name
from owners as o
inner join pets as p on p.owner_id = o.id
order by o.owner_name, p.pet_name
Run Code Online (Sandbox Code Playgroud)
否则行可以按任何顺序排列(例如,SQL引擎可以在内部对行进行排序以将表连接在一起,然后按该顺序返回行)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |