mysql exists 如何使用
还没时间看,exists用的少 ==》当你只需要判断后面的查询结果是否存 在时使用exists()
http://edu.codepub.com/2011/0208/29218.php
今天正好做一个查询,两个表中过滤数据,当T1中字段F1在T2表的F2中存在时,返回这条件数据。刚刚开始觉得简单,就想到子查询和连接查询,但是发现 两个表中如果数据量多时,这样就不行,并且效率不高,后来想到用Mysql中的In函数,当用完后,也做出来了。但是想了一下,觉得应该有更好用的才对, 于是打开MYSQL手册,查IN,结果找到exist函数。 
exist:用法如下: 
select * from T1 where exist(select * from T2 where T1.F1=T2.F2); 
其中,exist()中返回的只有TRUE和FALSE,这样过滤的速度也比In快,也不用很麻烦。 
其实exist()用的最常见的,应该是在数据的插入,当数据库中存在时,不要插入数据,以防止数据重复插入。 
Insert into T1 set F1=’xxx’,F2=’xxcc’ where not exist(select * from T1 where F1=’xxxx’); 
上面意思就是当表T1中F1存在值为xxxx的值记录时,不插入数据。
实际上确实如此。当你只需要判断后面的查询结果是否存在时使用exists(); 
                   当你需要使用里面的结果集的时候必须用in();
比方说: select fathername from atable where exists( select id from studenttable where name='tao2ge'); 
     
     当要查询一个叫淘二哥同学的爸爸的时候,需要使用exists();
但如果有一群学生需要查爸爸。 那就得用in了。 
    select fathername from atable where fatherid in (select id from student);
mysql exists 如何使用的更多相关文章
- mysql  有报错  ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
		
sh-4.1# /etc/init.d/mysqld status ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql ...
 - Centos安装完MariaDB后启动不了 MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
		
[root@admin-node subsys]# service mysql startStarting MySQL. ERROR! [root@admin-node subsys]# servic ...
 - ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
		
通过service mysql status 命令来查看mysql 的启动状态 报错如下: ERROR! MySQL is not running, but lock file (/var/lock/ ...
 - Linux - mysql 异常: ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
		
问题描述 ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists 解决方案 删除:/var/lock/su ...
 - Mysql exists 与 in
		
今天公司同事反馈一个SQL语句删除数据删除了一个小时,还没有删除完,强制中断. 第一眼看到 exists 的时候,脑子里要有这么个概念: Oracle exists 的效率比in 高.而Mysql 则 ...
 - MySQL exists的用法介绍
		
有一个查询如下: 1 SELECT c.CustomerId, CompanyName 2 FROM Customers c 3 WHERE EXISTS( 4 SELECT Or ...
 - mysql exists 和 in的效率比较
		
这条语句适用于a表比b表大的情况 select * from ecs_goods a where cat_id in(select cat_id from ecs_category b); 这条语句适 ...
 - MySQL - exists与in的用法
		
[1]exists 对外表用loop逐条查询,每次查询都会查看exists的条件语句. 当 exists里的条件语句能够返回记录行时(无论记录行是多少,只要能返回),条件就为真 , 返回当前loop到 ...
 - mysql exists及not exists的使用
		
对exists及not exists的使用根据下面的示例进行解释 如sql: select sname from student where exists (select * from score)) ...
 
随机推荐
- android getWidth()和getMeasuredWidth()方法的区别
			
getWidth() Return the width of the your view. Returns The width of your view, in pixels. 源代码: public ...
 - vue 兼容IE报错解决方案
			
IE 页面空白 报错信息 此时页面一片空白 报错原因 Babel 默认只转换新的 JavaScript 语法(如箭头函数),而不转换新的 API ,比如 Iterator.Generator.Set. ...
 - 四、vue语法补充
			
1.自定义过滤器 格式: {{ msg | filters}} 2.computed 属性默认只有 getter ,不过在需要时你也可以提供一个 setter <!DOCTYPE html> ...
 - Java编程的逻辑 (3) - 基本运算
			
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
 - px、pt、ppi、dpi、dp、sp之间的关系
			
http://www.woshipm.com/pmd/176328.html 各自的定义: px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元 pt: point,点,印刷行业常用单位, ...
 - Intellij Idea启用Git可视化界面
			
第一步. 第二步. 然后点击OK 验证
 - T-SQL语句3
			
一.删除表 1.drop table语句 drop table database_name,schema_name,table_name 2.删除数据表 drop table dbo.t_delete ...
 - hdu 2519 求组合数
			
求组合数 如果求C5 3 就是5*4*3/3*2*1 也就是(5/3)*(4/2)*(3/1) Sample Input5 //T3 2 //C3 25 34 43 68 0 Sample Outpu ...
 - 使用div模拟出frameset效果
			
<!doctype html> <html xmlns="http://www.w3.org/1999/xhtml" > <head> < ...
 - 20172301 《Java软件结构与数据结构》实验二报告
			
20172301 <Java软件结构与数据结构>实验二报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 郭恺 学号:20172301 实验教师:王志强老师 ...