基于emp表创建emp_sal视图,按薪资从高到低选取指定字段
解决方案:创建emp_sal视图并按薪资降序排序
需求梳理
需基于emp表创建名为emp_sal的视图,包含emp_no、first_name、last_name、salary四个字段,结果按薪资从高到低排序。
原代码问题说明
你提供的查询代码存在冗余逻辑和错误:
- 错误关联了不存在的
Dept表(当前仅定义了emp表) - 不必要使用
RANK()窗口函数,需求仅需简单排序后创建视图,无需排名计算
正确SQL实现
直接通过CREATE VIEW语句完成需求,代码简洁清晰:
/* 基于emp表创建名为emp_sal的视图,按薪资从高到低排序 */ CREATE VIEW emp_sal AS SELECT emp_no, first_name, last_name, salary FROM emp ORDER BY salary DESC;
视图验证
创建完成后,可通过以下语句查看视图内容,确认结果符合预期:
SELECT * FROM emp_sal;
执行后会返回按薪资降序排列的员工数据,薪资最高(7850.00)的记录将排在最前列。
内容的提问来源于stack exchange,提问作者Jayesh Ingale
相关产品推荐
相关产品推荐

