您的位置:首页 > 数据库 > MySQL

多表查询之子查询,in,any,all,exists,

2017-10-31 19:52 567 查看
15 多表查询之子查询

带in(子条件是否包含,包含则筛选出来)的子查询:

查询学生生日在91年之后的学生

Select cno from student where birthday > ‘1991-01-01’;

查询学生生日在91年之后的班级的信息。

Select * from classes where cid in(Select con from student where birthday > ‘1991-01-01’);

带exists(子条件是否 存在,如果存在 前面的SQL语句才会执行) 的子查询:

查询学生生日大于91年1月1日,如果记录存在,前面的SQL语句就会执行。

Select * from class where exists (Select cno from student where birthday > ‘1991-01-01’);

带any(只要大于一个就可以)的子查询:

只要班级cid大于一个的就可以

select * from classes where cid > ANY (Select cno from student );

带all(大于全部的才可以)的子查询:

班级cid大于所有的才满足条件

select * from classes where cid > ALL (Select cno from student );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据 mysql sql 数据库