in和delete运算符

in运算符、delete运算符

in 运算符

语法:属性名 in 对象   -->看对象中是否有该属性
     索引值 in 数组   -->看数组中时候有这个索引值
     返回值: 都是布尔值
例如:
    1.对象
    var obj = {
        name: "tom",
        age: 18
    }
    console.log("name" in obj1);  //true

    2.数组
    var arr = [1,2];
    console.log(0 in arr);  //true

delete 运算符

作用: 1. 删除不是var声明的变量
      2. 删除对象属性
      3. 删除数组索引

例如:
    1.变量
    num = 123;  
    console.log(num);  // 123
    delete num;   // 返回值是布尔值:true(表示删除成功) 

    2.属性
    var obj = {name: "haha",age: 12};
    delete obj.name;  
    console.log(obj); // 对象中只有一个属性age

    3.数组(改变不了数组的长度)
    var arr = [1,2,3];
    delete arr[0];
    console.log(arr[0]);  //undefind
    console.log(arr);  //数组的长度还是3,只是索引0的位置没有了
### SQL中DELETE与NOT IN的组合使用 在SQL操作中,`DELETE`语句用于删除表中的记录。当需要基于某些条件来决定哪些行应该被移除时,可以利用子查询配合逻辑运算符实现复杂的选择标准。对于想要保留特定集合之外的数据项而言,`NOT IN`是一个非常有用的工具[^1]。 #### 正确语法结构 要安全有效地执行这样的命令,建议遵循如下模式: ```sql DELETE FROM table_name WHERE column_name NOT IN (SELECT another_column FROM other_table); ``` 这里的关键在于确保内部查询返回的结果集只包含单列数据,并且该列的数据类型应当匹配外部查询所指定字段的类型[^2]。 #### 实际案例展示 假设存在两个表格:一个是订单详情(`order_details`);另一个则是产品列表(`products`)。现在目标是从前者清除掉那些对应于已停产商品的所有条目。那么完整的SQL指令可能看起来像这样: ```sql DELETE FROM order_details WHERE product_id NOT IN (SELECT id FROM products WHERE status = 'active'); ``` 此段代码的作用就是从`order_details`里边把所有不属于当前活跃状态的产品关联起来的信息都给删掉[^3]。 #### 需要注意的地方 - **性能考量**:如果涉及大量数据处理,则应考虑优化策略,比如创建索引来加速查找过程。 - **空值陷阱**:只要内层查询结果集中含有任何NULL值,整个表达式的求值都会受到影响,最终可能导致意外的行为——即没有任何行会被真正删除。因此,在编写这类查询之前最好先确认源表不存在未定义的状态[^4]。 - **事务管理**:为了防止误操作造成不可逆的影响,推荐采用显式事务控制机制,允许测试预期变化后再提交更改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值