多表连接查询-多表更新(5)

    语法1:
        update
        table1 INNER JOIN table2
        ON condition_expr
        SET
        col1 = {expr1|DEFAULT}
        col1 = {expr2|DEFAULT}
        WHERE where_conditions
    语法2:
        update
        table1 LEFT JOIN table2
        ON condition_expr
        SET
        col1 = {expr1|DEFAULT}
        col1 = {expr2|DEFAULT}
        WHERE where_conditions
    语法3:
        update
        table1 RIGHT JOIN table2
        ON condition_expr
        SET
        col1 = {expr1|DEFAULT}
        col1 = {expr2|DEFAULT}
        WHERE where_conditions
        
    案例:
        需求:
        今天身份证号为210210199901012222的读者将超限的图书20151101归还,根据描述实现如下需求:
        1.更新借阅信息表,将借阅状态(status)更新为‘是’。
        2.更新罚款记录信息表,更新实际还书日期和罚款金额,罚款金额为每超出一天扣0.2元。
        3.同时更新读者信息表的余额。(在余额中扣除罚款金额)
        SQL语句:
        select * from borrowinfo;
        select * from readerfee;

        update readerfee t1
        join readerinfo t2
        on t1.card_id = t2.card_id
        set
        actual_return_date = sysdate(),
        book_fee=datediff(sysdate(),return_date)*0.2,
        balance = balance - book_fee
        where t1.book_id = 20151101 and t1.card_id = '210210199901012222';

        select * from readerinfo;

转载于:https://www.cnblogs.com/apollo1616/articles/9821395.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值