子查询一般用在where条件这里,前提是不能有多个值 ,多个值不能使用<,>,=,<,=,>=,只能使用in,in意思是能返回的值
-- 高级查询
-- 聚合函数
-- sum求和,count计数,avg平均值,max最大值,min最小值
-- 分组函数 (group by)
-- where写在 group by 之前
-- order by 写在 group by 后面
-- select 后面只能出现分组的依据和聚合函数
-- 联表查询 A,B
-- 左连接 left join
-- 右连接 right join
-- 全连接 full join
-- 内连接 inner join
-- select * from A inner join B
-- on A.sid=B.stu_id
外建约束:
-- 外键约束
-- 外键的值必须是主键已经有的
-- 删除主键的时候,外键对应的数据会全部删除
-- stuInfo(主表),stuMarks(从表)
子查询:
-- 将一个sql语句的结果作为条件来判断:子查询
-- 子查询的语句,查询的列只允许一个
-- 子查询的语句,如果使用=,>,<,<=,>=结果必须只有一行
-- 如果使用in,那么可以存在多行
-- 聚合函数不能用在where里面,如果非要使用,只能使用having(作用等同于 where)
简单看一下 下面代码