Mysql的exist()⽤法
简介
EXISTS⽤于检查⼦查询是否⾄少会返回⼀⾏数据,该⼦查询实际上并不返回任何数据,⽽是返回值True或False。
EXISTS 指定⼀个⼦查询,检测⾏的存在。语法:EXISTS subquery。参数 subquery 是⼀个受限的 SELECT 语句(不允许有COMPUTE ⼦句和 INTO 关键字)。结果类型为 Boolean,如果⼦查询包含⾏,则返回 TRUE。
exists的用法准备2张表,并插⼊数据
学⽣表
create table student(userid int ,username varchar(20),age int ,classid int);
insert into student(userid,username,age,classid) values
(1,'zs',23,01),(2,'ls',25,02),(3,'ww',26,01),(4,'zl',56,02),(5,'hehe',34,04),(6,'xixi',14,04);
班级表
insert into classinfo(classid,classname) values(01,'语⽂'),(02,'数学'),(03,'英语');
create table classinfo(classid int ,classname varchar(20));
学⽣表中的5和6号学⽣并不在已有的班级表中,现在需要查询班级存在的学⽣的信息
select * from student s
where exists(
select * from classinfo c where s.classid = c.classid );
⼦查询查询的是班级信息,⽽外部查询的是学⽣信息,学⽣信息中的userid,username,age在
班级信息表中并不存在,那⼜是如何查询的?EXISTS⽤于检查⼦查询是否⾄少会返回⼀⾏数据,该⼦查询实际上并不返回任何数据,⽽是返回值True或False
EXISTS指定⼀个⼦查询,⽤于检测外部查询的⾏中的字段是否存在于⼦查询中

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。