Mysql中in, exists与or关键字的区别

 时间:2024-10-14 01:38:57

1、写法上的区别:假设有表A,A表中有字段name。name的值可能为"x","y","z"。现要找出A表中name为"y","z"的记录:or的写法:select * from A where name="y" orname="z"in的写法:select * from A where namein ("y", "z")

Mysql中in, exists与or关键字的区别

3、exists孀晏弁钾也来凑热闹:要使用exists,我们再来新建一个B表。B表中也有字段name。name的值可能为"w","x","y"(注意A表可能值为"x","y","z")。现要找出A表中name与B表中name相同的记录:exists的写法:SELECT * FROM A WHERE EXISTS (SELECT B.name FROM b WHERE a.name = b.name)

Mysql中in, exists与or关键字的区别

5、in,exists执行效率大比拼:还是以下面的SQL语句为例:SELECT * FROM A WHERE EXISTS (SELECT B.name FROM b WHERE a.name = b.name)结合上述的理论,推出以下结论:1. 如果A表记录条数多于B表,则选择为in效率更高;2. 如果A表记录条数少于B表,则选择为exists效率更高;还不明白的,再通过上面的代码1和代码2来理解一下,应该就清楚了。

Mysql中in, exists与or关键字的区别

7、扩展说明2:在In与exists的查询结果基本之上,如果想取反,加上NOT关键字就可以了。select * from A where namein ("y", "z") 变成:select * from A where name not in ("y", "z")exists 变成 not exists。是不是很方便呢。

Mysql中in, exists与or关键字的区别
  • 南京钟山风景区怎么游玩?
  • 怎样提高小学语文阅读教学的有效性
  • 社区组织生活会谈心谈话怎么进行
  • 重庆到新都桥自驾5日旅游攻略
  • 英雄联盟手游姿态怎么设置
  • 热门搜索
    怀化旅游景点大全 六鳌旅游攻略 贵阳旅游网 忻州旅游景点大全 五一旅游线路 途牛网旅游 长白山旅游路线 3月份适合去哪里旅游 香港旅游购物攻略 越南岘港旅游攻略