(4)建立视图,查询聘用员工查过2人,且平均月薪大于1200元的商店编号、商店名和地址。 SQLSERVER 代码
时间: 2024-03-05 19:47:47 浏览: 22
以下是在 SQL Server 中建立视图,查询聘用员工超过2人且平均月薪大于1200元的商店编号、商店名和地址的代码:
```sql
CREATE VIEW [dbo].[EmployeeCountAndAvgSalaryView]
AS
SELECT s.[StoreID], s.[StoreName], s.[Address]
FROM [Store] s
INNER JOIN [Employee] e ON s.[StoreID] = e.[StoreID]
GROUP BY s.[StoreID], s.[StoreName], s.[Address]
HAVING COUNT(e.[EmployeeID]) > 2 AND AVG(e.[Salary]) > 1200
```
这个代码将创建一个名为 “EmployeeCountAndAvgSalaryView” 的视图,它从 “Store” 表和 “Employee” 表中选择商店编号、商店名和地址,使用 INNER JOIN 连接这两个表,以便在计算商店的聘用员工数量和平均月薪时同时考虑这两个表的数据。在 GROUP BY 子句中,我们按商店编号、商店名和地址对结果分组,然后使用 HAVING 子句来筛选出聘用员工数量超过2人且平均月薪大于1200元的商店。请注意,这只是一个示例代码,你需要根据自己的表结构和数据来编写适合自己的 SQL 代码。
相关问题
编写视图查询借书人的姓名,手机号码和地址
好的,针对您的问题,您可以使用以下 SQL 语句创建一个视图,来查询借书人的姓名、手机号码和地址:
```
CREATE VIEW borrowers_info AS
SELECT borrowers.name, borrowers.phone, borrowers.address
FROM borrowers
```
其中,`borrowers` 是存储借书人信息的表名,`name`、`phone`和`address`是存储借书人姓名、手机号码和地址的列名。这条语句会创建一个名为`borrowers_info`的视图,该视图将会显示借书人的姓名、手机号码和地址。您可以根据实际情况,修改表名和列名来适配您的数据库。创建视图后,您可以通过以下语句查询该视图:
```
SELECT * FROM borrowers_info;
```
这条语句会查询出`borrowers_info`视图中的所有记录,即借书人的姓名、手机号码和地址。
在northwind数据库中的相关数据表中进行查询。查询各部门中工资比本部门平均工资高的员工的员工编号、名字和工资。
假设我们使用的是SQL Server数据库,可以按照以下步骤查询:
1. 首先连接到Northwind数据库。
2. 执行以下SQL语句创建一个名为“EmployeeSalary”的视图,该视图将员工的薪资、部门和平均薪资连接在一起。
```
CREATE VIEW EmployeeSalary AS
SELECT e.EmployeeID, e.FirstName, e.LastName, e.Salary, d.DepartmentName, AVG(e2.Salary) AS AvgSalary
FROM Employees e
INNER JOIN Departments d ON e.DepartmentID = d.DepartmentID
INNER JOIN Employees e2 ON e.DepartmentID = e2.DepartmentID
GROUP BY e.EmployeeID, e.FirstName, e.LastName, e.Salary, d.DepartmentName;
```
3. 执行以下SQL查询语句,筛选出各部门中工资比本部门平均工资高的员工的员工编号、名字和工资。
```
SELECT EmployeeID, FirstName + ' ' + LastName AS Name, Salary
FROM EmployeeSalary
WHERE Salary > AvgSalary;
```
这将返回一个结果集,其中包含符合条件的员工的员工编号、名字和工资。