帐户(编号,姓名,余额,建立日期,储蓄所编号) 储蓄所(编号,名称,地址,人数,所属城市) 借贷(帐户,借贷类型,金额,日期) 根据上面基本表的信息完成下列查询。 1 统计各个储蓄所的帐户个数和余额总数。
时间: 2024-05-04 17:19:56 浏览: 41
可以使用以下 SQL 语句来实现:
```
SELECT 储蓄所名称, COUNT(帐户编号) AS 帐户个数, SUM(余额) AS 余额总数
FROM 储蓄所
INNER JOIN 帐户 ON 储蓄所.储蓄所编号 = 帐户.储蓄所编号
GROUP BY 储蓄所名称;
```
这里使用了 INNER JOIN 将两个表连接起来,并通过 GROUP BY 对储蓄所名称进行分组,最后使用 COUNT 和 SUM 函数进行统计。
相关问题
在sql server中帐户(编号,姓名,余额,建立日期,储蓄所编号) 储蓄所(编号,名称,地址,人数,所属城市) 借贷(帐户,借贷类型,金额,日期)3利用视图,查询储蓄金额最高的储蓄所。
可以使用以下SQL语句创建视图:
```
CREATE VIEW SavingsView AS
SELECT s.编号, SUM(a.余额) AS 储蓄金额, s.名称, s.地址, s.人数, s.所属城市
FROM 帐户 a
INNER JOIN 储蓄所 s ON a.储蓄所编号 = s.编号
GROUP BY s.编号, s.名称, s.地址, s.人数, s.所属城市
```
该视图将会返回每个储蓄所的编号、储蓄金额、名称、地址、人数和所属城市。
然后,可以使用以下SQL语句查询储蓄金额最高的储蓄所:
```
SELECT TOP 1 *
FROM SavingsView
ORDER BY 储蓄金额 DESC
```
这将返回储蓄金额最高的储蓄所的所有信息。如果有多个储蓄所拥有相同的最高储蓄金额,则此查询将返回其中任意一个。
帐户(编号,姓名,余额,建立日期,储蓄所编号) 储蓄所(编号,名称,地址,人数,所属城市) 借贷(帐户,借贷类型,金额,日期) 建立储蓄所的delete 触发器,只有当此储蓄所没有帐户时才可删除,若有销售记录不能删除。
可以使用以下 SQL 代码创建储蓄所表和帐户表:
```sql
CREATE TABLE 储蓄所 (
编号 INT PRIMARY KEY,
名称 VARCHAR(50),
地址 VARCHAR(100),
人数 INT,
所属城市 VARCHAR(50)
);
CREATE TABLE 帐户 (
编号 INT PRIMARY KEY,
姓名 VARCHAR(50),
余额 DECIMAL(10, 2),
建立日期 DATE,
储蓄所编号 INT,
FOREIGN KEY (储蓄所编号) REFERENCES 储蓄所(编号)
);
CREATE TABLE 借贷 (
帐户编号 INT,
借贷类型 VARCHAR(10),
金额 DECIMAL(10, 2),
日期 DATE,
PRIMARY KEY (帐户编号, 借贷类型),
FOREIGN KEY (帐户编号) REFERENCES 帐户(编号)
);
```
然后,可以使用以下 SQL 代码创建触发器:
```sql
CREATE TRIGGER 删除储蓄所触发器
BEFORE DELETE ON 储蓄所
FOR EACH ROW
BEGIN
-- 检查是否有帐户
DECLARE account_count INT;
SELECT COUNT(*) INTO account_count FROM 帐户 WHERE 储蓄所编号 = OLD.编号;
IF account_count > 0 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '此储蓄所有帐户,不能删除';
END IF;
-- 检查是否有销售记录
DECLARE sale_count INT;
SELECT COUNT(*) INTO sale_count FROM 借贷 WHERE EXISTS (
SELECT * FROM 帐户 WHERE 帐户.编号 = 借贷.帐户编号 AND 帐户.储蓄所编号 = OLD.编号
);
IF sale_count > 0 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '此储蓄所有销售记录,不能删除';
END IF;
END;
```
这个触发器会在删除储蓄所之前检查是否有帐户和销售记录,如果有则会抛出异常,阻止删除操作。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)