Nosql 案例语句与相关查询中的问题(DB2CourseraIBM课程)

Nosql 案例语句与相关查询中的问题(DB2CourseraIBM课程),nosql,db2,Nosql,Db2,我目前在Coursera上注册了IBM的课程。我写下了两个查询,一个使用子查询方法,另一个使用case语句和关联查询。这两个查询的答案最初看起来相同,但其他列的值不同。我的查询有问题吗?我认为问题在于local\u name的多个值具有相同的lang\u num值。这意味着排序有联系 SQL中的order by子句不稳定。这在技术上意味着,在相同的数据上运行两次orderby会产生相同的结果——即使键具有相同的值。原因很简单:SQL表表示无序集,因此具有相同键值的行没有默认顺序 解决办法很简单。

我目前在Coursera上注册了IBM的课程。我写下了两个查询,一个使用子查询方法,另一个使用case语句和关联查询。这两个查询的答案最初看起来相同,但其他列的值不同。我的查询有问题吗?

我认为问题在于
local\u name
的多个值具有相同的
lang\u num
值。这意味着排序有联系

SQL中的order by子句不稳定。这在技术上意味着,在相同的数据上运行两次
orderby
会产生相同的结果——即使键具有相同的值。原因很简单:SQL表表示无序集,因此具有相同键值的行没有默认顺序

解决办法很简单。只需确保
order by
键唯一地标识每一行:

order by lang_num, local_name

这两个查询的
orderby
子句是不同的,因此行的顺序不同也就不足为奇了。我已经得到了答案。谢谢