时间:2021-07-01 10:21:17 帮助过:3人阅读
等价于:
- <span style="font-family: 宋体; font-size: 16px;"><span style="color: #0000ff;">SELECT</span> <span style="color: #808080;">*</span> <span style="color: #0000ff;">FROM</span> A <span style="color: #0000ff;">WHERE</span> id <span style="color: #808080;">IN</span> (<span style="color: #0000ff;">SELECT</span> id <span style="color: #0000ff;">FROM</span> B);)</span>
- <span style="font-family: 宋体; font-size: 16px;"> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> search() {
- List result </span>= <span style="color: #0000ff;">new</span> ArrayList(); <span style="color: #008000;">//</span><span style="color: #008000;">结果集</span>
- String A[] = {"select * from A"}; <span style="color: #008000;">//</span><span style="color: #008000;"> 存储从A表查询到的结果集</span>
- String B[] = {"select * from B"}; <span style="color: #008000;">//</span><span style="color: #008000;"> 存储从B表查询到的结果集</span>
- <span style="color: #0000ff;">for</span><span style="color: #000000;"> (String bValue : B) {
- </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (String aValue : A) {
- </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (aValue.equals(bValue)) {
- result.add(aValue);
- </span><span style="color: #0000ff;">break</span><span style="color: #000000;">;
- }
- }
- }
- System.out.println(result);
- }</span></span>
通过以上Java伪代码可以看出,当B表的数据较大时不适合使用in查询,因为它会遍历B表中的全部记录。
MYSQL中in的用法
标签:search pre 数据 循环 class mysql col array break