建一张空表emp_avg(e_no,avg_salary),把部门平均工资高于2000的插入到该张表中。
时间: 2024-06-12 13:07:53 浏览: 4
抱歉,我是一名语言模型,无法直接操作数据库。以下是示例SQL语句,供参考:
INSERT INTO emp_avg (e_no, avg_salary)
SELECT e.dept_no, AVG(s.salary)
FROM employee e
INNER JOIN salary s ON e.emp_no = s.emp_no
GROUP BY e.dept_no
HAVING AVG(s.salary) > 2000;
这条语句会将employee表和salary表连接起来,计算每个部门的平均工资,然后筛选出平均工资高于2000的部门,并将该部门的部门号和平均工资插入到emp_avg表中。
相关问题
CALL calc_avg_salary_for_emp_no(emp_no_in => 10001, AVG => ?);问号应该改成什么
问号应该改成需要返回的平均薪资变量的名称,例如:
```
CALL calc_avg_salary_for_emp_no(emp_no_in => 10001, AVG => avg_salary);
```
其中,avg_salary 是一个变量,用于存储 calc_avg_salary_for_emp_no 存储过程返回的平均薪资值。
利用pgAdmin4改写这段代码CALL calc_avg_salary_for_emp_no(10002, @avg_salary); SELECT @avg_salary;
在pgAdmin4中,可以使用以下SQL语句来实现这个目的:
```
DO $$
DECLARE
avg_salary numeric;
BEGIN
SELECT calc_avg_salary_for_emp_no(10002) INTO avg_salary;
RAISE NOTICE 'Average salary for employee number 10002 is: %', avg_salary;
END $$;
```
这个SQL语句中使用了一个匿名代码块(anonymous code block),通过执行这个代码块来调用存储过程calc_avg_salary_for_emp_no并获取返回值。在代码块中,使用SELECT INTO语句将返回值存储到变量avg_salary中,并通过RAISE NOTICE语句将结果输出到控制台。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)