0
点赞
收藏
分享

微信扫一扫

SQL练习题

eelq 2022-01-24 阅读 70

1.

创建一个表,表如图所示

iddepartmentsalaryname
11200张三
21300李四
31100王五
42200牛六
52300张耀

需求:
找出两个部门中工资最高的员工

需输出

departmentsalaryname
1300李四
2300张耀

步骤1:创建表

CREATE TABLE test0211(
    id INT,
    department INT,
    salary INT,
    NAME VARCHAR(20)
    );

步骤2:插入数据

INSERT INTO test0211
VALUES	(001,001,200,'张三')
	,(002,001,300,'李四')
	,(003,001,100,'王五')
        ,(004,002,200,'牛六')
        ,(005,002,300,'张耀')

步骤3:分析需求编写代码

1.需查出两个部门的最高薪资,所以使用子查询先通过
group by 按部门分组,再使用max函数求出最高薪资
2.使用where条件去筛选部门和薪资与表二相等的员工
输出

SELECT department, salary, NAME
FROM test0211
WHERE (department, salary) 
IN
(SELECT department, MAX(salary)
 FROM test0211
 GROUP BY department)
举报

相关推荐

0 条评论