我有一个名为USERS的表,我从中获取了员工的名字和姓氏,并将其打印为一个名称。如何在此数据上正确使用ORDER BY?
这就是我所拥有的:
SELECT l.OFFICE_NAME, (us.LAST_NAME || ' , ' || us.FIRST_NAME) AS "Employee Name"
FROM LOCAL_OFFICE l, USERS us
WHERE l.LOCAL_OFFICE_ID = us.LOCAL_OFFICE_ID
ORDER BY l.OFFICE_NAME --what do I place here?--
我将通过JOIN而不是更昂贵的FROM来完成此操作,但如何按名称按字母顺序排序?
答案 0 :(得分:8)
你可以说:
ORDER BY office_name, "Employee Name"
这适用于11G,但可能不适用于旧版本的Oracle。
答案 1 :(得分:6)
ORDER BY l.OFFICE_NAME, (us.LAST_NAME || ' , ' || us.FIRST_NAME)
答案 2 :(得分:5)
由于您的连接并没有真正添加任何新内容,为什么不只是
ORDER BY l.OFFICE_NAME, us.LAST_NAME, us.FIRST_NAME
编辑:如果USERS.LAST_NAME
和/或USERS.FIRST_NAME
上有索引,这将比通过连接结果排序更快
答案 3 :(得分:4)
您可以使用:
ORDER BY 1,2
这不是很好的做法,但它有效。