对于以上语句是否有简洁写法
时间: 2024-09-26 12:18:45 浏览: 18
这个SQL语句相对复杂,可以稍微简化一下。当前的写法主要是为了清晰地展示如何组合子查询和`DISTINCT`、`LIKE`操作以及内容处理。如果想要更简洁,我们可以尝试去掉不必要的嵌套,并使用`NOT IN`替换子查询来查看不在特定关键词列表中的`sid`。假设关键词存储在一个名为`blacklist_keywords`的表中,简化后的版本可能像这样:
```sql
SELECT DISTINCT sid
FROM app.app_chat_message
WHERE dt >= '2024-07-01'
AND sid IN (
SELECT a1 FROM dev.table_lgs_2
)
AND content NOT LIKE '%金融%'
AND content NOT LIKE '%转%'
AND content NOT LIKE '%物流%'
AND content NOT LIKE '%支付%'
AND content NOT LIKE '%券%'
AND sid NOT IN (
SELECT * FROM blacklist_keywords
);
```
这里省去了子查询并在`content`检查后直接排除不在黑名单中的`sid`。
相关问题
JAVA for简洁写法
JAVA中的for语句可以通过简化写法来提高代码的简洁性。简化后的写法是:for(数据类型 变量名 : 表达式){...}。根据表达式的类型,有两种情况可以使用简化写法。
第一种情况是当表达式的类型具有public Interator iterator()方法时,可以使用简化的for语句。例如,如果表达式是一个实现了迭代器的容器对象,比如Vector,可以使用简化的for语句来遍历容器中的元素。例如:Vector vs = new Vector(); vs.add("a"); vs.add("b"); vs.add("c"); for(String c : vs) System.out.println(c);//输出:a b c。
第二种情况是当表达式的类型是数组对象的引用变量时,也可以使用简化的for语句。例如,如果表达式是一个整型数组,可以使用简化的for语句来遍历数组中的元素。例如:int[] a = {1,2,3}; for(int c : a){System.out.println(c);} //输出:1 2 3。
需要注意的是,使用简化的for语句时,只能用于访问容器或数组中的元素,而不能修改其中的元素。例如,下面的写法是不允许的:int[] a = {1,2,3}; for(int s : a) s = 5;<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [java中for语句的简化写法](https://blog.csdn.net/demo_yo/article/details/104003007)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [Java中for语句的简化写法](https://blog.csdn.net/weixin_30446969/article/details/114115000)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
java arrayList 简洁写法
在Java 7及以上版本中,可以使用“钻石操作符”来创建一个简洁的ArrayList。这将使代码更加简洁,避免了需要重复写出列表类型的问题。
例如:
```
List<String> list = new ArrayList<>();
```
可以简化为:
```
List<String> list = new ArrayList<>();
```
另外,如果您想要填充列表时避免使用多个“add”语句,您可以使用Arrays.asList()方法创建一个包含所有元素的列表,如下所示:
```
List<String> list = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));
```
这将创建一个包含三个字符串元素的ArrayList,并将其存储在名为“list”的变量中。