SQL 数据操作技巧:SELECT INTO、INSERT INTO SELECT 和 CASE 语


当涉及到SQL中的数据操作时,SELECT INTO、INSERT INTO SELECT和CASE语句是非常有用的技巧。让我逐一解释它们:

  1. SELECT INTO

    • 用途:SELECT INTO语句用于从一个表中选择数据并将其插入到一个新表中。
    • 语法
    SELECT column1, column2, ...
    INTO new_table
    FROM old_table;
    
    • 示例:从一个名为"customers"的表中选择数据并将其插入到一个名为"new_customers"的新表中。
    SELECT *
    INTO new_customers
    FROM customers;
    
  2. INSERT INTO SELECT

    • 用途:INSERT INTO SELECT语句用于从一个表中选择数据并将其插入到另一个表中。
    • 语法
    INSERT INTO target_table (column1, column2, ...)
    SELECT column1, column2, ...
    FROM source_table;
    
    • 示例:从一个名为"orders"的表中选择数据并将其插入到另一个名为"archived_orders"的表中。
    INSERT INTO archived_orders (order_id, order_date, customer_id)
    SELECT order_id, order_date, customer_id
    FROM orders;
    
  3. CASE语句

    • 用途:CASE语句用于根据条件选择不同的值,并返回相应的结果。
    • 语法
    CASE
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ...
        ELSE result
    END
    
    • 示例:根据不同的订单状态返回不同的处理信息。
    SELECT order_id,
           CASE
               WHEN order_status = 'pending' THEN 'Please wait for processing'
               WHEN order_status = 'shipped' THEN 'Order has been shipped'
               WHEN order_status = 'delivered' THEN 'Order has been delivered'
               ELSE 'Unknown status'
           END AS order_status_message
    FROM orders;
    

这些数据操作技巧可以帮助你更灵活地处理数据,并根据需要选择性地插入、更新或选择数据。


原文链接:codingdict.net