Ghost689 2022-10-20 14:03 采纳率: 92.6%
浏览 163
已结题

数据库,advanced SQL,根据数据库表格数据和问题编写SQL代码

数据库,Advanced SQL,已经根据数据库表格数据创建数据库并插入了数据,编写剩余的SQL代码
3 编写查询,生成不包含重复客户记录的组合表
4 编写查询,生成CUSTOMER_2特有的记录
5 编写查询显示客户余额为1000或以上的所有客户的发票编号,客户编号,客户名字,发票日期,发票金额
6 编写查询,显示发票编号,发票金额,平均发票金额和平均发票金额和实际发票金额的差
7 修改customer表以包含两个新属性CUST_DOB, CUST_AGE,客户1000在1979年3月15日出生,客户1001在1988年12月22日出生
8.完成了第7个问题,编写查询,列出客户的名字和年龄
9.编写查询,列出客户平均年龄(假设customer表已修改为包含CUST_DOB和CUST_AGE属性)

img

img


#Task1
#1
CREATE SCHEMA Task1;
use Task1;
CREATE TABLE CUSTOMER(CUST_NUM int, CUST_LNAME CHAR(20), CUST_FNAME CHAR(20), CUST_BALANCE CHAR(20));
CREATE TABLE CUSTOMER_2(CUST_NUM int, CUST_LNAME CHAR(20), CUST_FNAME CHAR(20));
CREATE TABLE INVOICE(INV_NUM int, CUST_NUM int, INV_DATE CHAR(20), INV_AMOUNT CHAR(20));
#2
INSERT INTO CUSTOMER(CUST_NUM, CUST_LNAME, CUST_FNAME, CUST_BALANCE)
VALUES(1000, 'Smith', 'Jeanne', 1050.11),
(1001, 'Ortega', 'Juan', 840.92);
INSERT INTO CUSTOMER_2(CUST_NUM, CUST_LNAME, CUST_FNAME)
VALUES(2000, 'McPherson', 'Anne'),
(2001, 'Ortega', 'Juan'),
(2002, 'Kowalski', 'Jan'),
(2003, 'Chen', 'George');
INSERT INTO INVOICE(INV_NUM, CUST_NUM, INV_DATE, INV_AMOUNT)
VALUES(8000, 1000, '23-Mar-14', 235.89),
(8001, 1001, '23-Mar-14', 312.82),
(8002, 1001, '30-Mar-14', 528.10),
(8003, 1000, '12-Apr-14', 194.78),
(8004, 1000, '23-Apr-14', 619.44);
COMMIT;

  • 写回答

2条回答 默认 最新

  • 游一游走一走 2022-10-20 14:35
    关注
    1. 3题
      SELECT 
       *
      FROM
       INVOICE
      WHERE
       INV_NUM IN (SELECT 
               MIN(INV_NUM)
           FROM
               INVOICE
           GROUP BY CUST_NUM)
      
    2. 4题
      SELECT 
       INVOICE.*
      FROM
       INVOICE
           INNER JOIN
       CUSTOMER
           JOIN
       CUSTOMER_2
      WHERE
       INVOICE.CUST_NUM = CUSTOMER.CUST_NUM
           AND CUSTOMER.CUST_LNAME = CUSTOMER_2.CUST_LNAME
           AND CUSTOMER.CUST_FNAME = CUSTOMER_2.CUST_FNAME
      
    3. 5题
      SELECT 
       INVOICE.*, CUSTOMER.CUST_LNAME, CUSTOMER.CUST_FNAME
      FROM
       INVOICE
           INNER JOIN
       CUSTOMER
      WHERE
       INVOICE.CUST_NUM = CUSTOMER.CUST_NUM
           AND CUSTOMER.CUST_BALANCE >= 1000
      
    4. 6题
      SELECT 
       *,
       (SELECT 
               AVG(INV_AMOUNT)
           FROM
               INVOICE) AS avg,
       (SELECT 
               AVG(INV_AMOUNT)
           FROM
               INVOICE) - INV_AMOUNT AS cha
      FROM
       INVOICE;
      
    5. 7题
      ALTER TABLE CUSTOMER
      ADD COLUMN CUST_DOB DATE NULL,
      ADD COLUMN CUST_AGE INT NULL;
      ALTER TABLE `CUSTOMER` ADD PRIMARY KEY (`CUST_NUM`);
      UPDATE CUSTOMER SET CUST_DOB = '1979-3-15', CUST_AGE = '43' WHERE CUST_NUM = '1000';
      UPDATE CUSTOMER SET CUST_DOB = '1988-12-22', CUST_AGE = '34' WHERE CUST_NUM = '1001';
      
    6. 8题
      SELECT 
       CUST_LNAME, CUST_FNAME, CUST_AGE
      FROM
       CUSTOMER
      
    7. 8题
      SELECT 
       AVG(CUST_AGE)
      FROM
       CUSTOMER
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月28日
  • 已采纳回答 10月20日
  • 创建了问题 10月20日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么