多表查询,嵌套查询

where 关联查询

join 链接查询

left join 左联

right join 右联

inner join 内联

--嵌套查询:获取年龄最大的信息(先统计最大 年龄作为另一次查询的条件)

 select * from user where age=(select max(age) from user);

--获取mysql 考试不及格的学生信息

select * from user where id in(select sid from grade where mysql<60 );

--where 关联

select  * from user,grade where user.id=grade.uid;

--所有考试的成绩信息(where 求的是交集数据)

select  u.id,u.name,g.php,g.mysql, from user u,grade g where u.id=g.uid;

--左联、右联

--左联查询就是以左侧表为主查询,右侧表没有的补null

select  u.id,u.name,g.php,g.mysql, from user u left join grade g on u.id=g.uid;

--右联查询就是以右侧表为主查询,左侧表没有的补null

select  u.id,u.name,g.php,g.mysql, from grade g right join user u on u.id=g.uid;

--内联(等价于上面where的结果)

select  u.id,u.name,g.php,g.mysql, from user  u inner join grade g on u.id=g.uid;


你可能感兴趣的:(mysql)