• 数据库实践 Hw03


    1.1

    使用DELETE语句删除数据时,会有一个返回值,含义是 A
    A、
    被删除的记录数目

    B、
    删除是否成功执行

    C、
    删除影响的表个数

    D、
    以上答案都不对

    1.2

    查找条件为:姓名不是NULL的记录 C

    A、
    WHERE NAME ! NULL

    B、
    WHERE NAME NOT NULL

    C、
    WHERE NAME IS NOT NULL

    D、
    WHERE NAME!=NULL

    2.1

    以下SQL命令中属于数据操作语言(DML)的命令有 ADF

    A、
    INSERT

    B、
    CREATE

    C、
    DROP

    D、
    UPDATE

    E、
    ALTER

    F、
    DELETE

    2.2

    SQL语法规范中,having子句的使用下面描述正确的是 AC

    A、
    having子句即可包含聚合函数作用的字段也可以包括普通的标量字段

    B、
    使用having的同时不能使用where子句

    C、
    having子句一般与group by子句同时使用,用于对分组进行筛选

    D、
    在having子句中出现、但没有被聚集的那些属性,无须出现在group by子句中

    3.1

    通过“___<表名>”语句,可以查看表的结构(请写关键词全称并大写)

    DESCRIBE; DESC
    
    • 1

    3.2

    使用"___<数据库名>"语句,可以指定一个已有数据库作为当前工作数据库(请写关键词全称并大写)

    USE
    
    • 1

    4.1

    请编写SQL语句,从branch表中找出地址位于上海市的支行机构名称。(输出:支行名称)

    SELECT NAME FROM branch WHERE CITY='上海市'
    • 1

    4.2

    请编写SQL语句计算account表中所有人的平均余额。(输出:平均余额)

    select AVG(AVAIL_BALANCE) as average_salary from account ;
    
    • 1

    4.3

    请编写SQL语句从account表中找出余额最多的账户信息。(输出:账户编号、可用余额、开户日期和最后活跃日期)

    select ACCOUNT_ID, AVAIL_BALANCE, OPEN_DATE, LAST_ACTIVITY_DATE from account
    where AVAIL_BALANCE in (select max(AVAIL_BALANCE) from account);
    
    • 1
    • 2

    4.4

    请使用SQL语句将individual表中CUST_ID为1的人安排到employee表中。(说明:
    姓名:使用select语句从individual表中获取
    员工编号:20
    入职日期:2022-9-26
    离职日期:无
    职位名称:出纳员
    分支机构编号:1
    部门编号:2
    上级领导编号:4)

    insert into employee(EMP_ID, END_DATE, FIRST_NAME, LAST_NAME, 
    START_DATE, TITLE,ASSIGNED_BRANCH_ID, DEPT_ID, SUPERIOR_EMP_ID)
    select null, null, individual.FIRST_NAME, individual.LAST_NAME, 
    '2022-9-26', '出纳员', 1, 2, 4 from individual where CUST_ID = 1;
    
    • 1
    • 2
    • 3
    • 4

    4.5

    查询所有地址为南京市的客户的开户信息。(输出:account表的所有属性)

    select * from account where CUST_ID 
    in (select CUST_ID  from customer where city = '南京市');
    
    
    select * from account where CUST_ID 
    in(select*from customer where address like '%南京市%');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4.6

    查询所有支行机构地址及客户的地址。(输出:地址)

    SELECT c.ADDRESS from customer c 
    UNION
    SELECT b.ADDRESS FROM branch b
    
    • 1
    • 2
    • 3

    4.7

    在交易时间’2011-01-01’ 和 '2015-01-01’之间查询各个支行机构的总交易金额大于700000元的所有支行机构ID和总金额。(输出:支行机构ID、总金额)

    select execution_branch_id ,sum(amount) from acc_transaction
    where TXN_DATE between '2011-01-01' and '2015-01-01'
    group by execution_branch_id having sum(amount) > 700000;
    
    • 1
    • 2
    • 3

    4.8

    查询所有不在“上海市总行”工作的员工,他们在现金存入(CD)业务中所处理的总金额。(输出:总金额)

    SELECT sum(AMOUNT) FROM acc_transaction WHERE TELLER_EMP_ID in
    ( SELECT e.EMP_ID FROM employee e WHERE e.ASSIGNED_BRANCH_ID  in  
    (SELECT BRANCH_ID from branch WHERE name != '上海市总行') ) and TXN_TYPE_CD ='CD'
    
    • 1
    • 2
    • 3
    1.子查询版本
    select sum(amount) 
    from acc_transaction
    where TXN_TYPE_CD = 'CD'
    and 
    teller_emp_id
    in
    (
    select emp_id from employee
        where assigned_branch_id 
        not in
        (
    select branch_id from branch
            where name = '上海市总行'
        )
    );
    
    
    
    2. exists等价搜索
    select sum(amount) 
    from acc_transaction
    where TXN_TYPE_CD = 'CD'
    and 
    exists
    (
    select emp_id from employee
        where emp_id = teller_emp_id
        and not exists
        (
    select branch_id from branch
            where name = '上海市总行'
            and branch_id = assigned_branch_id
        )
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
  • 相关阅读:
    软件测试缺陷报告
    Kafka-基础
    金仓数据库 KingbaseES 插件参考手册 O
    Qt 客户端和服务器通信【一对一版本】
    基于JAVA实现的连连看小游戏
    【MySQL】 Linux平台MySQL安装
    算法 括号生成-(递归回溯+同向双指针)
    【考研数学】概率论如何复习?跟谁好?
    渗透测试与攻防演练之间有什么区别
    MediaPlayer_Analyze-3-native
  • 原文地址:https://blog.csdn.net/JamSlade/article/details/128063286