msyql基础8-子查询

子查询
概念: 当一个查询是另一个查询的条件时,一个查询 称之为子查询, 另一个查询就是主查询。
子查询分类: 按子查询返回的结果进行分类
1)标量子查询 //子查询返回的结果只有一个值
例如:查询成绩大于平均成绩的学生
先要查出平均成绩,为一个值,此为标量子查询
2)列子查询 //子查询返回的结果是一列
例如:查询年龄为17,18的学生信息
先要查出来17,18岁的学生id
利用 in any all 关键字,不能用> < =
3)行子查询 //子查询返回的结果只有一行
例如 查询salary=12300且city= ‘北京市’ 的学生
select salary,city from stu where(salary,city) = (select salary,city from stu where salart =12300 and city=‘北京市’);
4)表子查询 //子查询返回的结果是个虚表
例如:查询性别为男年龄小于25岁的学生
select * from (select * from stu where sex = ‘男’) where age < 25;
5)exists子查询
含义:表示查询的结果“有数据”. 如果有数据则进行主查询,否则不查询.
格式: where exists (子查询);
实例:student 表, 如果籍贯有天津市,则查询这个表的所有记录.

你可能感兴趣的:(Mysql,mysql,子查询)