代码解释$strsql1 = " select z.xueyuan,zong,ifnull(jiuye,'0') jiuye,ifnull(linshi,'0') linshi from(select xueyuan,count(*) zong from student group by xueyuan) as z left join ( select xueyuan,count(distinct(num)) jiuye from student left join company on student.num=company.stu_num where company.id!='' group by xueyuan) as j on z.xueyuan=j.xueyuan left join ( select xueyuan,count(*) linshi from( select num,xueyuan,count(distinct(num)), max(post_type) post_type from student left join company on student.num=company.stu_num where company.id!='' group by num , xueyuan)as a where post_type=1 group by xueyuan) as l on z.xueyuan=l.xueyuan";
时间: 2024-04-22 12:27:41 浏览: 184
学习SQL语句(强大的group by与select from模式)
这段代码是一个SQL语句,用于对名为student和company的表进行查询和统计。
其中,SELECT关键字用于指定要查询的列,这里是z.xueyuan、zong、ifnull(jiuye,'0')和ifnull(linshi,'0'),分别表示学院、该学院的学生总数、已就业的学生总数和临时工的学生总数。
FROM关键字用于指定要查询的表,这里是名为student和company的表。
LEFT JOIN关键字用于连接两个表,这里连接的是名为student和company的表。连接的条件是student.num=company.stu_num,并且company.id!=''。
GROUP BY关键字用于对查询结果进行分组,这里是按照学院对结果进行分组。
最后,AS关键字用于给这个查询结果取一个别名,方便在后续的查询中引用这个结果。
综上所述,这段代码的作用是查询student和company表,按照学院分组统计每个学院的学生总数、已就业的学生总数和临时工的学生总数,并将结果命名为z、j和l。其中,已就业的学生总数是通过在student表和company表之间进行left join操作,并根据company.id!=''条件筛选出已就业的学生。临时工的学生总数是通过在student表和company表之间进行left join操作,并根据max(post_type)等于1条件筛选出临时工的学生。
阅读全文